自定义组织模式导出模板?


8

与此问题相关:如何为组织模式HTML导出定义模板?

我想通过单击来自定义插入的模板,C-c C-e t这样我可以得到一些自定义,甚至在有关放置内容的注释中提供一些帮助说明。

也许使用其他Emacs方式插入文本片段会更好?还是使用组织模式模板扩展?

Answers:


4

简短答案:看起来很难轻易完成以显着修改结构。有一些建议的导出选项,org-export-plist-vars但是我个人没有使用它们。

挖掘答案:调用时C-c C-e t,您正在调用org-mode函数org-insert-export-options-template。我对函数(C-h f)进行了快速帮助,但没有看到任何帮助文本或传递给它的选项,因此我不得不查看函数(M-x find-function ENTER org-insert-export-options-template ENTER>)的来源。

通读该org-insert-export-options-template函数,我发现它正在获取要通过插入的文本org-get-current-options。在描述中没有帮助配置它的行为,因此也请查看它的源代码。在那里,您会看到熟悉的完整的模板信息段落,该段落会在您调用时插入到文本中org-insert-export-options-template。填充的值来自其他各种组织变量,缓冲区名称等。

建议:我个人所做的工作花了一些时间来确定我想要的选项,并在启动新的文件时从其他组织文件中复制了这些选项。我还考虑过使用AutoInsertMode为我自动填充一个新的组织文件,但是已经推迟了。


0

除了“插入摘要”选项之外,您可能还对#+ SETUPFILE:/path/to/template.org感兴趣。如果您希望为导出设置预定义的设置,这将很有用。您可以根据需要创建任意多个。我将其与yasnippet结合起来进行以下操作:

# -*- mode: snippet; require-final-newline: nil -*-
# name: blogtemplate
# key: <bl
# --
#+SETUPFILE: ~/.emacs.d/org-templates/level-$1.org
#+DATE: $2
#+KEYWORDS: $3 

#+BEGIN_HTML
<h1 class="title">$0</h1>
#+END_HTML

$ 1,$ 2等定义选项卡将停止,因此您可以像网络表单一样填写它。

编辑:

有关编写yasnippet和制表符的详细信息,请参见以下网址http ://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3

但实际上,在插入摘要后,它将使您处于$ 1,然后按Tab将使您处于$ 2,依此类推。这样,您可以快速填写需要的内容。


请说明1美元,2美元的零件。任何文件参考?谢谢!!
justingordon 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.