Personalizzazione del modello di esportazione in modalità organizzazione?


8

In relazione a questa domanda: come definire un modello per l'esportazione HTML in modalità org?

Vorrei personalizzare il modello inserito colpendo in C-c C-e tmodo da ottenere alcune personalizzazioni e persino alcune note di aiuto in alcuni commenti su cosa mettere.

Forse sarebbe meglio usare qualche altro modo Emacs per inserire uno snippet di testo? O per utilizzare l'espansione del modello in modalità org?

Risposte:


4

Risposta breve : non sembra essere facilmente realizzabile per modificare la struttura in modo drammatico. Ci sono alcune opzioni di esportazione suggerite come org-export-plist-varsma personalmente non ho giocato con loro.

Cercando la risposta : quando chiami C-c C-e t, stai invocando la funzione modalità org org-insert-export-options-template. Ho fatto un rapido aiuto sulla funzione ( C-h f) e non ho visto alcun testo di aiuto o opzioni per passarci, quindi ho dovuto guardare l'origine della funzione ( M-x find-function ENTER org-insert-export-options-template ENTER>).

Leggendo la org-insert-export-options-templatefunzione, vedo che sta acquisendo il testo da inserire tramite org-get-current-options. Nessun aiuto sulla configurazione del suo comportamento nella sua descrizione, quindi off per vedere anche la sua fonte. Lì vedrai il familiare paragrafo corposo delle informazioni sul modello che viene inserito nel testo quando chiami org-insert-export-options-template. I valori popolati provengono da varie altre variabili organizzative, nome buffer, ecc.

Raccomandazione : quello che ho fatto personalmente è passare un po 'di tempo a decidere quali opzioni mi piacerebbe e copiarle da altri file dell'organizzazione quando ne avvio una nuova. Ho anche pensato di utilizzare AutoInsertMode per popolare automaticamente un nuovo file org per me, ma l'ho rimandato.


0

Oltre all'opzione "Inserisci frammento", potresti anche essere interessato a # + SETUPFILE: /path/to/template.org. Ciò è utile se si desidera avere impostazioni predefinite per l'esportazione. Puoi crearne quanti ne hai bisogno. Combino questo con yasnippet per fare quanto segue:

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

I $ 1, $ 2 e così via definiscono le schede in modo da poterlo compilare come un modulo web.

MODIFICARE:

I dettagli sulla scrittura di yasnippet e tabulazioni in particolare sono disponibili qui: http://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3

Ma essenzialmente, dopo aver inserito uno snippet ti posizionerà a $ 1, quindi premendo tab ti posizionerai a $ 2 e così via. In questo modo puoi compilare rapidamente ciò di cui hai bisogno.


Si prega di chiarire le parti $ 1, $ 2. Qualche riferimento a doc? Grazie!!
Justingordon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.