与此问题相关:如何为组织模式HTML导出定义模板?
我想通过单击来自定义插入的模板,C-c C-e t
这样我可以得到一些自定义,甚至在有关放置内容的注释中提供一些帮助说明。
也许使用其他Emacs方式插入文本片段会更好?还是使用组织模式模板扩展?
与此问题相关:如何为组织模式HTML导出定义模板?
我想通过单击来自定义插入的模板,C-c C-e t
这样我可以得到一些自定义,甚至在有关放置内容的注释中提供一些帮助说明。
也许使用其他Emacs方式插入文本片段会更好?还是使用组织模式模板扩展?
Answers:
简短答案:看起来很难轻易完成以显着修改结构。有一些建议的导出选项,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为我自动填充一个新的组织文件,但是已经推迟了。
除了“插入摘要”选项之外,您可能还对#+ 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,依此类推。这样,您可以快速填写需要的内容。