[英]Emacs org-mode markdown export: #+TITLE option not exported
我使用出色的org-mode
轻松将README.md
修改推送到GitHub项目。 Markdown导出效果很好,除了#+TITLE
选项没有导出到Markdown之外-对于HTML导出而言,它完美无缺。
我想保留文件名README.org
以便于转换为Markdown,否则我可以选择标题作为文件名,从而在GitHub上正确显示标题。
关于如何实现这一目标的任何建议?
根据您的问题和后续评论,您似乎想要实现三件事:
定义一个自定义标题,该标题将作为顶级标题导出。
在标题后插入目录。
TOC不应包含标题。
在自定义位置插入TOC很容易,因此让我们开始:
#+OPTIONS: toc:nil
到README.org
顶部的导出选项。 就其本身而言,这告诉org-mode
在导出时不包括默认的TOC。 然后,您可以通过插入将TOC放置在所需位置
#+TOC: headlines
在所需的位置。 (此方法并非特定于Markdown导出。)
定义不包含在TOC中的自定义标题有些棘手,但是基本思想是通过将其格式设置为Markdown标题而不是org
标题来将标题从TOC中排除。 第一步,将README.org
更改为如下所示:
#+OPTIONS: toc:nil
# Emacs als Python-Power-Editor für den RasPi
#+TOC: headlines
* Wieso nur ausgerechnet Emacs???
...
开箱即用将不会产生期望的结果,因为org
会将标题解释为注释,并且默认情况下Markdown导出器配置为忽略注释。 但是,为了更改默认行为,您可以
为.emacs
注释定义自定义代码转换器:
(defun org-md-comment (comment contents info) "Transcode COMMENT object into Markdown format. CONTENTS is nil. INFO is a plist holding contextual information." (format "# %s" (org-element-property :value comment)))
重新定义Markdown导出后端以使用此代码转换器:
(org-export-define-derived-backend 'md 'html ;; ... :translate-alist '((bold . org-md-bold) (code . org-md-verbatim) (comment . org-md-comment) ;; <--- Use custom transcoder (comment-block . (lambda (&rest args) "")) ;; ... ))
后端的原始定义可以在文件ox-md.el
; 该文件位于您的org-mode
安装目录中。 您需要将完整定义复制到您的.emacs
文件中,并更改行
(comment . (lambda (&rest args) ""))
如上图所示。
通过这些自定义,生成的README.md
文件如下所示:
# Emacs als Python-Power-Editor für den RasPi
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. Wieso nur ausgerechnet Emacs???</a></li>
<li><a href="#sec-2">2. Die Maus ist tot, es leben die shortcuts!</a></li>
<li><a href="#sec-3">3. Auf den Emacs, fertig, los!</a></li>
</ul>
</div>
</div>
# Wieso nur ausgerechnet Emacs???
...
参见http://article.gmane.org/gmane.emacs.orgmode/82634 。
该问题应该得到解决。 只在GitHub网站上等待转换器的更新...
这对于获得答案的期望很有用,但我认为这不是解决此问题的正确方法 。 我来解释一下
我认为问题在于将选项从org-mode导出到md,但我也想将我的文档保留在org-mode中,并且这种hack org-mode导出选项为标题导出到md标题1添加了另一行,但不能管理整个事情。
我所期望的,我想这是重要的问题是将orgmode正确导出到md ,我的意思是:
从orgmode到md的标题以一个(#)开头-就像orgmode到html一样。
从orgmode(*)到md标题2(##)的标题
如果不是这个问题,我应该打开一个新的:)
最好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.