生成された画像をorg-publishが自動的に公開する方法は?


7

私はorg-publishを使用してorg-modeファイルのHTMLエクスポートを公開し、同僚とドキュメントを共有していますが、とで多くの図を生成しplantumlていgnuplotます。これらの図は、でファイルをエクスポートするときにリモートサーバーに送信されませんC-c C-e P f

私の構成は次のようになります:

("org-pastebin"
 :base-directory "~/org/"
 :base-extension "org\\|zsh\\|html\\|png"
 :publishing-directory "/ssh:user@server:~/public_html/org/"
 :publishing-function org-html-publish-to-html
 :with-toc t
 :html-preamble t)

次のようなorg-modeファイルがある場合:

* Header
Some prose

#+BEGIN_SRC plantuml :file my-file.png :results raw
...
#+END_SRC

#+RESULTS:
[[file:my-file.png]]

この場合、リンクされたファイル(my-file.png)をEmacsに自動的に公開させるにはどうすればよいですか?プロジェクト全体を公開しても、画像はコピーされません。

回答:


7

複数のファイルタイプで構成されるプロジェクトを公開するために、以下を.emacsファイルに追加します。

(setq org-publish-project-alist
  '(("myprojectorg"
     :base-directory "~/path/to/myproject/"
     :publishing-directory "/ssh:user@server:~/public_html/myproject/"
     :publishing-function org-html-publish-to-html
     :auto-preamble t
     )
    ("myprojectother"
     :base-directory "~/path/to/myproject/"
     :base-extension "css\\|pdf\\|sh"
     :publishing-directory "/ssh:user@server:~/public_html/myproject"
     :publishing-function org-publish-attachment
     )
    ("myprojectimages"
     :base-directory "~/path/to/myproject/images"
     :base-extension "png\\|jpg"
     :publishing-directory "/ssh:user@server:~/public_html/myproject/images"
     :publishing-function org-publish-attachment
     )
    ("myprojectweb" :components("myprojectorg" "myprojectother" "myprojectimages"))
   )
)

これは、myprojectwebを使用してorg-modeから公開するときに使用するエントリを定義しC-c C-e P xます。これmyprojectwebは以下から構成されます:

  • で定義されている組織ファイル(複数可)myprojectorg
  • myprojectimages(サブディレクトリにある)で定義されている画像ファイル、および
  • で定義されているその他のファイル(この場合はPDF、CSSファイル、シェルスクリプト)myprojectother

これらの最後の2つのエントリはorg-publish-attachment、ファイルをにコピーするだけで公開されますpublishing-directory


これをテストしましたが、うまく機能しました、ありがとう!
Lee H
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.