9

emacsorg-modeファイルのhtmlで絶対画像のURLをエクスポートする必要があります。

次のコードを書くとき:

[[file:/images/a.jgp]]

HTMLコードのエクスポートは次のとおりです。

<img src="file:///images/a.jpg" >

しかし、私が必要としているのは:

<img src="/images/a.jgp">

#+BEGIN_HTMLでは、タグを使用する代わりに、必要なものをエクスポートするにはどうすればよいですか?

ps:私のemacs構成:

 16 ;; org-mode project define
 17 (setq org-publish-project-alist
 18       '(
 19         ("org-blog-content"
 20          ;; Path to your org files.
 21          :base-directory "~/ChinaXing.org/org/"
 22          :base-extension "org"
 23 
 24          ;; Path to your jekyll project.
 25          :publishing-directory "~/ChinaXing.org/jekyll/"
 26          :recursive t
 27          :publishing-function org-publish-org-to-html
 28          :headline-levels 4
 29          :html-extension "html"
 30          :table-of-contents t
 31          :body-only t ;; Only export section between <body></body>
 32          )
 33 
 34         ("org-blog-static"
 35          :base-directory "~/ChinaXing.org/org/"
 36          :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|php\\|svg"
 37          :publishing-directory "~/ChinaXing.org/jekyll/"
 38          :recursive t
 39          :publishing-function org-publish-attachment)
 40         ("blog" :components ("org-blog-content" "org-blog-static"))
 41         ))
4

2 に答える 2

12

これを行う方法は、 を使用して、組織モードで新しい種類のリンクを登録することorg-add-link-typeです。これにより、カスタムのエクスポート形式を提供できます。

org-add-link-type「リンクをクリックするとどうなりますか?」という接頭辞が必要です。関数、およびエクスポート関数。

のプレフィックスを使用しているimgため、リンクは のようになります[[img:logo.png][Logo]]。私の画像ファイルは../images/(.org ファイルに関連して) にあり、Web サーバーからは に表示され/images/ます。したがって、これらの設定で.emacsは、これを入れると解決策が得られます。

(defun org-custom-link-img-follow (path)
  (org-open-file-with-emacs
   (format "../images/%s" path)))

(defun org-custom-link-img-export (path desc format)
  (cond
   ((eq format 'html)
    (format "<img src=\"/images/%s\" alt=\"%s\"/>" path desc))))

(org-add-link-type "img" 'org-custom-link-img-follow 'org-custom-link-img-export)

おそらく、セットアップのパスを修正する必要がありますが、それがレシピです。ご想像のとおりC-hforg-add-link-type、完全な悲惨な詳細が表示されます。

ああ、それが価値があるのは、これが私がポスト間リンク(のような[[post:otherfile.org][Other File]])に使用しているコードです。出力形式にはちょっとした Jekyll マジックがあるので、double-%s に注目してください。

(defun org-custom-link-post-follow (path)
  (org-open-file-with-emacs path))

(defun org-custom-link-post-export (path desc format)
  (cond
   ((eq format 'html)
    (format "<a href=\"{%% post_url %s %%}\">%s</a>" path desc))))

(org-add-link-type "post" 'org-custom-link-post-follow 'org-custom-link-post-export)
于 2013-02-12T20:52:57.593 に答える