Настройка шаблона экспорта в режиме орг?

8

Связанный с этим вопрос: Как определить шаблон для экспорта HTML режима org?

Я хотел бы настроить вставленный шаблон, нажав так C-c C-e t, чтобы я получил несколько настроек и даже несколько справочных замечаний в некоторых комментариях о том, что поместить.

Может быть, было бы лучше использовать какой-нибудь другой способ Emacs для вставки фрагмента текста? Или использовать расширение шаблона org-mode?

justingordon
источник

Ответы:

4

Краткий ответ : не представляется легким сделать радикальное изменение структуры. Есть некоторые экспортные-варианты , предложенные как , org-export-plist-varsно лично я не играл с ними.

Поиск ответа : когда вы звоните C-c C-e t, вы вызываете функцию режима орг org-insert-export-options-template. Я быстро справился с функцией ( C-h f) и не увидел ни текста справки, ни опций, которые можно было бы передать, поэтому мне пришлось посмотреть на источник функции ( M-x find-function ENTER org-insert-export-options-template ENTER>).

Читая org-insert-export-options-templateфункцию, я вижу, что она получает текст для вставки org-get-current-options. Никакой помощи по настройке его поведения в описании, так что посмотрите его источник. Там вы увидите знакомый полный текст абзаца с информацией о шаблоне, который вставляется в текст при вызове org-insert-export-options-template. Значения заполняются из различных других переменных org, имени буфера и т. Д.

Рекомендация : лично я потратил некоторое время на то, чтобы решить, какие параметры мне бы понравились, и скопировал их из других файлов org, когда я запустил новый. Я также думал об использовании AutoInsertMode для автоматического заполнения нового файла org для меня, но отложил его.

jonEbird
источник
0

Помимо опции «вставить фрагмент», вас также может заинтересовать # + SETUPFILE: /path/to/template.org. Это полезно, если вы хотите, чтобы предустановленные настройки были установлены для экспорта. Вы можете создать столько, сколько вам нужно. Я объединяю это с Ясниппетом, чтобы сделать следующее:

# -*- mode: snippet; require-final-newline: nil -*-
# name: blogtemplate
# key: <bl
# --
#+SETUPFILE: ~/.emacs.d/org-templates/level-$1.org
#+DATE: $2
#+KEYWORDS: $3 

#+BEGIN_HTML
<h1 class="title">$0</h1>
#+END_HTML

Закладки $ 1, $ 2 и т. Д. Определяют вкладки, поэтому вы можете заполнить их как веб-форму.

РЕДАКТИРОВАТЬ:

Подробности написания яснипетов и табуляции, в частности, можно найти здесь: http://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3

Но, по сути, после того, как вы вставите фрагмент, он будет стоить вам 1 доллар, а затем нажатие клавиши tab даст вам 2 доллара и так далее. Таким образом, вы можете быстро заполнить то, что вам нужно.

Роберт
источник
Пожалуйста, уточните части $ 1, $ 2. Любой документ ref? Спасибо!!
Джастингордон