2

我使用 org-mode 导出博客的内容,然后使用 jekyll 生成结果博客页面。

我发现当我将body-only设置为 true 时,org-project 导出不包含 org 文件的TOC(目录)。

如何配置让 emacs 生成 TOC?

这是我的.emacs配置:

;; org-mode project define                                                                                                            
(setq org-publish-project-alist
      '(
        ("org-blog-content"
         ;; Path to your org files.                                                                                                   
         :base-directory "~/ChinaXing.org/org/"
         :base-extension "org"

         ;; Path to your jekyll project.                                                                                              
         :publishing-directory "~/ChinaXing.org/jekyll/"
         :recursive t
         :publishing-function org-publish-org-to-html
         :headline-levels 4
         :html-extension "html"
         :table-of-contents t
         :body-only t ;; Only export section between <body></body>                                                                    
         )

        ("org-blog-static"
         :base-directory "~/ChinaXing.org/org/"
         :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|php"
         :publishing-directory "~/ChinaXing.org/jekyll/"
         :recursive t
         :publishing-function org-publish-attachment)
        ("blog" :components ("org-blog-content" "org-blog-static"))
        ))
4

1 回答 1

1

根据org-mode 电子邮件列表的这篇帖子,...

[...] 如果 body-only 是 t,HTML 导出器将拒绝包含 TOC;atom exporter 和“使用 Wanderlust 发送 HTML 消息”黑客依赖于这种行为,这就是为什么在官方 Org 存储库中没有更改它的原因。

一种解决方案是修补 org-mode 的源代码,如下所示:

http://thread.gmane.org/gmane.emacs.orgmode/24227

Ian Barton 显然已经实现了另一种使用 jQuery 动态生成 TOC 的方法。如果您对该解决方案的详细信息感兴趣,您可以考虑回复此主题帖子。

于 2013-02-05T21:21:34.103 回答