如何在Emacs中为组织模式导出指定文件名?


15

我的组织文件名为README.org,我想导出到Markdown到名为的文件中README。每次运行导出时,都会写入README.md。这是我的组织文件:

#+PROPERTY: EXPORT_FILE_NAME thing

* Test export

我正在使用EXPORT_FILE_NAME基于以下链接的属性:http : //orgmode.org/manual/Export-settings.html#index-property_002c-EXPORT_005fFILE_005fNAME-1617,但它似乎没有任何作用。


2
您的链接显示“在所有情况下,仅保留文件的基本名称,并添加特定于后端的扩展名。”这听起来像您将始终获得“ .md”。
erikstokes 2015年

1
你是完全正确的。扩展名似乎不可配置。对组织模式的功能要求?
2015年

Answers:


12

根据引用的手册页,EXPORT_FILE_NAME仅适用于子树导出。

整个文件导出将从缓冲文件名中获取其名称。

如果只有1个1级标题,则可以将此属性添加到第一个标题内的抽屉中,并始终从此顶级标题内导出为子树,以获取所需的文件名。


8

对于较新版本的org-mode ,添加了新的导出设置#+EXPORT_FILE_NAME:,该设置将在导出文件时设置文件名。

  • 例如:

    #+EXPORT_FILE_NAME: README.txt
    

该设置可以在标题下方的属性抽屉内被覆盖。

  • 例如:

    * Chapter 2
    :PROPERTIES:
    :EXPORT_FILE_NAME: chapter2
    :END:
    

已使用以下代码测试此代码:
emacs版本:GNU Emacs 25.2.1(x86_64-unknown-cygwin,GTK +版本3.22.10)
组织模式版本:9.1.2


5

一个简单的解决方法是将其添加到源组织文件的底部:

# Local Variables:
# after-save-hook: (lambda nil (when (org-html-export-to-html) (rename-file "README.html" "index.html" t)))
# End:

在此示例中,假设源文件名为README.org,它将自动将文件导出为HTML,然后将其重命名为index.html


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.