Personalizar la plantilla de exportación en modo org?

8

Relacionado con esta pregunta: ¿Cómo definir la plantilla para la exportación HTML en modo org?

Me gustaría personalizar la plantilla insertada presionando de C-c C-e tmodo que obtenga algunas personalizaciones e incluso algunas notas de ayuda en algunos comentarios sobre qué poner.

¿Quizás sería mejor usar alguna otra forma de Emacs para insertar un fragmento de texto? ¿O para usar la expansión de plantillas de modo org?

justingordon
fuente

Respuestas:

4

Respuesta corta : No parece que se logre fácilmente para modificar la estructura dramáticamente. Hay algunas opciones de exportación sugeridas, org-export-plist-varspero personalmente no he jugado con ellas.

Buscando la respuesta : cuando llamas C-c C-e t, estás invocando la función de modo org org-insert-export-options-template. Hice una ayuda rápida sobre la función ( C-h f) y no vi ningún texto de ayuda u opciones para pasarle, así que tuve que mirar la fuente de la función ( M-x find-function ENTER org-insert-export-options-template ENTER>).

Leyendo la org-insert-export-options-templatefunción, veo que está adquiriendo el texto para insertar a través de org-get-current-options. No hay ayuda para configurar su comportamiento en su descripción, así que también puede ver su fuente. Allí verá el familiar párrafo completo de información de plantilla que se inserta en el texto cuando llama org-insert-export-options-template. Los valores poblados son de varias otras variables de organización, nombre de búfer, etc.

Recomendación : lo que personalmente he hecho es dedicar un tiempo a decidir qué opciones me gustaría y copiarlas de otros archivos de organización cuando comienzo una nueva. También he pensado en usar AutoInsertMode para rellenar automáticamente un nuevo archivo de organización para mí, pero lo pospuse .

jonEbird
fuente
0

Además de la opción "insertar fragmento", también puede estar interesado en # + SETUPFILE: /path/to/template.org. Esto es útil si desea tener configuraciones predefinidas establecidas para la exportación. Puedes crear tantos como necesites. Combino esto con yasnippet para hacer lo siguiente:

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

Los $ 1, $ 2, etc. definen tabulaciones para que pueda completarlo como un formulario web.

EDITAR:

Los detalles sobre cómo escribir yasnippets y tabulaciones en particular se pueden encontrar aquí: http://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3

Pero esencialmente, después de insertar un fragmento, te colocará en $ 1 y luego presionar la pestaña te colocará en $ 2 y así sucesivamente. De esa manera, puede completar rápidamente lo que necesita.

Robert
fuente
Por favor aclare las partes de $ 1, $ 2. Cualquier documento de referencia? ¡¡Gracias!!
justingordon