在组织模式下静静地导出ditaa图

5 emacs export org-mode

我正在尝试自动化项目编译过程.它的一部分使用组织文件.当组织文件具有如下部分时:

#+begin_src ditaa :file integration.png :cmdline -r -s 0.8 
<some diagram>
#+end_src
Run Code Online (Sandbox Code Playgroud)

然后它会在导出时尝试交互并失败.我的编译命令看起来或多或少像这样:

emacsclient -e "(progn (package-initialize)
          (require 'js2-mode) (require \'typescript)
          (require \'htmlize) 
          (setq org-ditaa-jar-path (expand-file-name 
          "~/.emacs.d/ditaa/ditaa0_9.jar\\"))
          (org-babel-do-load-languages 
          'org-babel-load-languages '((ditaa . t)))
          (find-file "$some-org-file") (org-export-as-html 3)
          (org-export-as-odt 3))"
Run Code Online (Sandbox Code Playgroud)

当我以交互方式导出文件时,它可以正常工作,但是非交互式,文件是混乱的.如何自动回答ditaa出口提示"是"的想法?

谢谢Rachel Gallen的回答.只是为了完成这个答案:

#+BIND: org-confirm-babel-evaluate nil
Run Code Online (Sandbox Code Playgroud)

这是必须设置的变量,以便导出以静默方式进行.

Rac*_*len 4

以下设置:

  #+BIND
Run Code Online (Sandbox Code Playgroud)

允许在导出时设置变量而无需确认。对于您想要覆盖某些组织模式变量以进行导出的情况,这允许在没有提示的情况下导出文档。

例子:

  (setq org-export-allow-BIND t)
Run Code Online (Sandbox Code Playgroud)

来源(有趣的读物!)