2012-01-28 9 views
6

Uso asciidoc per il rendering del testo.asciidoc macros

mi hanno difficoltà a capire le macro

Il mio obiettivo è quello di avere una semplice elaborazione di macro (come in LaTeX)

FOO dovrebbe essere sostituito da "bar"

MyText (xyz) dovrebbe essere sostituito da: "Questo è il mio testo zyz!"

(magari con un modo diverso di passare il parametro 'xyz')

Esempio di file abc.txt:

text text text 
FOO text FOO 
text text text 
MYTEXT(jajaja) 

Questo dovrebbe portare a

text text text 
bar text bar 
text text text 
This is my text jajaja! 

Mi aspetterei che la definizione di FOO e MYTEXT deve essere inserita nel file abc.conf; probabilmente nella secione [macro].

domanda supplementare:

ci sono problemi con il pattern matching, se

FOO dovrebbe essere sostituirli con 'bar' e FOOX con 'barbar'?

risposta

4

Per il compito di sostituire FOO nella barra e FOOX in Barbar vorrei utilizzare la sintassi sostituzione:

= AsciiDoc title 
:FOO: bar 
:FOOX: barbar 

Regular text here using substitutions: {FOO} is bar and {FOOX} is barbar. 

Come si può vedere, si dichiara la sostituzione come :VARIABLE: e lo si utilizza come {VARIABLE}.

Come per la creazione di nuove macro, le macro di solito sono del tipo macroname:content[Text input]. Sono documentati here per il progetto Python AsciiDoc ed eventualmente here per il progetto AsciiDoctor basato su ruby, ma non li ho mai veramente usati, preferisco sostituzioni e blocchi condizionali.

+0

Fornisci una soluzione alternativa, ma in realtà non rispondi alla domanda. – lscoughlin

Problemi correlati