在Emacs的批处理模式下运行`org-export-as-html`是什么意思?

4

当以批处理模式使用`org-export-as-html'时,从代码块生成的HTML没有语法着色。

如何在批处理模式下启用语法着色?

编辑:

我从终端运行emacs --script make.el。 在make.el中,我包含org和org-html,并最终调用(org-export-as-html 3)

以下将加粗/下划线关键字,但仍然没有颜色:

    (add-to-list 'load-path "~/elisp/org/contrib/lisp")
    (require 'htmlize)
    (setq c-standard-font-lock-fontify-region-function 'font-lock-default-fontify-region) ;; fixes bug
    (org-export-as-html 3)

编辑2:

我尝试了另外几件事情 - 它们没有任何影响:

    (setq org-src-fontify-natively t)
    (org-babel-do-load-languages 'org-babel-load-languages '((java .t)))

我也尝试过加载整个 .emacs 文件

我正在使用 GNU Emacs 24.3.1 和 Org 7.9.2


1
尝试运行 emacs --batch -l ~/.emacs ... - abo-abo
你好,能否发布一下你用于导出HTML的代码?我猜你没有使用htmlize库,这个库是必需的,可以导出语法高亮的HTML。 - user2053036
你尝试过加载 htmlize 吗?例如 (load "~/elisp/org/contrib/lisp/htmlize")。这对我很有帮助。 - slu
1个回答

0

显然,如果您使用color-theme库,则(由于我尚不清楚的神秘原因)在批处理模式下导出时可以通过htmlize获得彩色输出。

例如,在org缓冲区中评估以下代码以进行导出,htmlize将使用通过主题定义的颜色,并且在批处理模式和交互式导出(通过创建临时框架并设置适当的颜色主题以避免弄乱包含要导出的org缓冲区的框架)时工作:

(require 'cl)                           ;for `lexical-let'

(add-hook
 ;; This is for org 8.x (use `org-export-first-hook' for earlier versions).
 (make-local-variable 'org-export-before-processing-hook)
 (lambda (backend)
   (add-to-list (make-local-variable 'load-path) (expand-file-name "./etc"))
   (require 'color-theme)
   (color-theme-initialize)

   (when (display-graphic-p)            ;Are we running in interactive mode?
     ;; If so, create a temporary frame to install the color theme used by
     ;; htmlize:
     (lexical-let ((buff (switch-to-buffer-other-frame (current-buffer)))
                   (frame (selected-frame)))
       (setq color-theme-is-global nil)
       (make-frame-invisible frame)
       ;; Schedule deletion of temporary frame:
       (add-to-list
        ;; The following is for org 8.x (earlier versions use other hooks like
        ;; `org-latex-final-hook').
        (make-local-variable 'org-export-filter-final-output-functions)
        (lambda (string backend info) (delete-frame frame)))))

   ;; Install color theme.
   (color-theme-blippblopp)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接