我想在批处理模式下使用 Emacsorg
从命令行将一些文件导出为 HTML。我想得到与交互式使用相同的结果C-cC-eh,特别是:
- 尊重文件局部变量(例如
org-export-publishing-directory
) - 尊重通过
#+KEYWORD:
标题指定的所有选项
从 中给出的示例开始org-export-as-html-batch
,我到了这一点:
emacs --batch \
--visit=/tmp/foo.org \
--eval "(defun safe-local-variable-p (sym val) t)" \
--funcall hack-local-variables \
--eval "(setq org-export-headline-levels 4)" \
--funcall org-export-as-html-batch
但是,仍然存在一些问题:
我需要明确指定标题级别,但我不明白为什么所有其他
#+OPTIONS
都受到尊重(如toc:nil
)但不是这个我不得不手动触发文件局部变量解析
hack-local-variables
(我猜它不会在批处理模式下自动完成)但更重要的是我不得不求助于将所有局部变量标记为安全(我确信有很多空间在这里改进)。
注意:
万一这很重要,我使用的是 emacs 23.2.1(Debian Squeeze 风格)
这是我测试过的示例org
文件:
#+TITLE: Foo
#+OPTIONS: H:4 toc:nil author:nil
* 1
** 2
*** 3
**** 4
# Local Variables:
# org-export-publishing-directory: "/some/where";
# End: