2012-01-28 9 views
6

Używam asciidoc do renderowania tekstu.asciidoc macros

Mam trudności zrozumieć makr

Moim celem jest mieć proste makro przetwarzania (jak w lateks)

FOO powinien zostać zastąpiony przez „bar”

myText (xyz) powinny być otrzymuje brzmienie: "To jest mój tekst zyz!"

(być może w inny sposób, aby przekazać parametr XYZ)

przykład plik abc.txt:

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

Powinno to spowodować

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

by się spodziewać, że definicja FOO i MYTEXT musi iść do pliku abc.conf; prawdopodobnie do sera [makro].

dodatkowe pytanie:

Czy istnieją problemy z pasujące do wzorca, jeśli

FOO należy zastąpić 'bar' i FOOX z Barbar ''?

Odpowiedz

4

dla zadania zastępując FOO do baru i FOOX w Barbar chciałbym użyć składni podstawiania:

= AsciiDoc title 
:FOO: bar 
:FOOX: barbar 

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

Jak widać, można zadeklarować jako podstawienie :VARIABLE: i użyć go jako {VARIABLE}.

Jeśli chodzi o tworzenie nowych makr, makra są zwykle typu macroname:content[Text input]. Są one udokumentowane here dla projektu Python AsciiDoc i ostatecznie here dla projektu AsciiDoctor opartego na rubinach, ale nigdy tak naprawdę ich nie używałem, wolę substytucje i bloki warunkowe.

+0

Podajesz alternatywne rozwiązanie, ale tak naprawdę nie odpowiadasz na pytanie. – lscoughlin

Powiązane problemy