我使用优秀的org-mode
轻松地将README.md
的修改推送到GitHub项目。 Markdown导出效果很好,除了#+TITLE
选项没有导出到Markdown之外 - 它可以完美地用于HTML导出。
我想保留文件名README.org
以方便转换为Markdown,否则我可以选择标题作为文件名,在GitHub上正确显示标题。
有关如何实现这一目标的任何建议吗?
答案 0 :(得分:5)
根据您的问题和后续评论,您似乎想要实现三件事:
定义导出为顶级标题的自定义标题。
在标题后插入TOC 。
TOC不应包含标题。
在自定义位置插入TOC很简单,所以我们先从中开始:添加
#+OPTIONS: toc:nil
到README.org
顶部的导出选项。这本身就告诉org-mode
在导出时不要包含默认的TOC。然后,您可以通过插入
#+TOC: headlines
在所需的位置。 (此method并非特定于Markdown导出。)
定义未包含在TOC中的自定义标题有点棘手,但基本思路是通过将其格式化为Markdown标题而不是{{}来从TOC中排除标题1}}标题。首先,将org
更改为如下所示:
README.org
开箱即用,这不会产生预期的结果,因为#+OPTIONS: toc:nil
# Emacs als Python-Power-Editor für den RasPi
#+TOC: headlines
* Wieso nur ausgerechnet Emacs???
...
会将标题解释为注释,默认情况下,Markdown导出器配置为忽略注释。但是,为了更改默认行为,您可以
在org
中为评论定义自定义代码转换器:
.emacs
重新定义Markdown导出后端以使用此代码转换器:
(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)))
后端的原始定义可以在文件(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
答案 1 :(得分:1)
请参阅http://article.gmane.org/gmane.emacs.orgmode/82634。
问题应该是固定的。只等待GitHub网站上的转换器更新...
答案 2 :(得分:1)
这对于获得答案所期望的内容非常有用,但我认为解决此问题不是正确的路径。让我解释一下
我认为问题是关于从org-mode导出选项到md ,但我也希望将我的文档保留在org-mode中,这样就破解了org-mode导出选项,为标题导出添加了另一行标题1但不管理整个事情。
我的期望是什么,我想这是重要的问题是将orgmode正确导出到md ,我的意思是:
标题从orgmode到md标题为一个(#)-as orgmode为html。
标题一从orgmode(*)到md标题二(##)
如果这个问题与此无关,我应该开一个新问题:)
最佳!