8

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

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

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

2 ответа2

4

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

Поиск ответа: когда вы вызываете Cc Ce t, вы вызываете функцию org-insert-export-options-template . Я быстро справился с функцией (Ch f) и не увидел никакого текста помощи или опций, которые можно было бы передать, поэтому мне пришлось посмотреть на источник функции (Mx 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 для меня, но отложил его.

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 доллара и так далее. Таким образом, вы можете быстро заполнить то, что вам нужно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .