Как я могу указать имя файла для экспорта в режиме org в Emacs?


15

Мой файл org назван, README.orgи я хочу экспортировать в Markdown в файл с именем README. Каждый раз, когда я запускаю экспорт, он пишет в README.md. Вот мой файл org:

#+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

1
Ты совершенно прав. Похоже, расширение не настраивается. Запрос функции для орг-режима?
Конор

Ответы:


12

Согласно цитированной странице справочника, EXPORT_FILE_NAMEприменяется только для экспорта поддерева.

Целый экспорт файла берет свое имя от имени файла буфера.

Если у вас есть только 1 заголовок уровня 1, вы можете добавить это свойство в ящик внутри первого заголовка и всегда экспортировать как поддерево из этого заголовка верхнего уровня, чтобы получить желаемое имя файла.


8

Для более поздних версий режима org был добавлен новый параметр экспорта#+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)
версия в режиме Org: 9.1.2


5

Простой обходной путь - добавить это внизу исходного файла Org:

# 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.


2

Вы можете использовать функцию org-export-to-file

Это позволит вам указать файл, который вы хотите сохранить, и бэкэнд для экспорта.

(org-export-to-file 'html "README.html" )
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.