gpt4 book ai didi

Emacs org-mode markdown 导出 : #+TITLE option not exported

转载 作者:行者123 更新时间:2023-12-02 07:29:02 28 4
gpt4 key购买 nike

我使用出色的 org-mode 轻松将 README.md 的修改推送到 GitHub 项目。 Markdown 导出效果很好,除了 #+TITLE 选项没有被导出到 Markdown - 它完美地适用于 HTML 导出。

我想保留文件名 README.org 以便于转换成 Markdown,否则我可以选择标题作为文件名,这样可以在 GitHub 上正确显示标题。

关于如何实现这一点的任何建议?

最佳答案

根据您的问题和随后的评论,您似乎想要实现三件事:

  1. 定义一个导出为顶级标题的自定义标题。

  2. 在标题之后插入目录

  3. 目录不应包含标题。


目录的自定义位置

在自定义位置插入 TOC 很简单,所以让我们从这个开始:添加

#+OPTIONS: toc:nil

README.org 顶部的导出选项。就其本身而言,这告诉 org-mode 在导出时不要包含默认目录。然后,您可以通过插入将 TOC 放置在您想要的位置

#+TOC: headlines

在所需的位置。 (此 method 并非特定于 Markdown 导出。)


未显示在目录中的自定义标题

定义一个不包含在 TOC 中的自定义标题有点棘手,但基本想法是通过将标题格式化为 Markdown 标题而不是 org 标题。第一步,将 README.org 更改为如下所示:

#+OPTIONS: toc:nil

# Emacs als Python-Power-Editor für den RasPi

#+TOC: headlines

* Wieso nur ausgerechnet Emacs???
...

开箱即用这不会产生所需的结果,因为 org 会将标题解释为注释,并且默认情况下 Markdown 导出器配置为忽略注释。但是,为了更改默认行为,您可以

  1. 为您的 .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)))
  2. 重新定义 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???
...

关于Emacs org-mode markdown 导出 : #+TITLE option not exported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123769/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com