2012-01-28 61 views
6

我使用asciidoc來渲染文本。asciidoc宏

我有困難,瞭解宏

我的目標是有一個簡單的宏處理(如在膠乳)

FOO應該由「酒吧」

MYTEXT(XYZ)來代替應換成:「這是我的文本zyz!」

(也許用不同的方式來傳遞參數 'XYZ')

示例文件的abc.txt:

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

這將導致

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

我期望FOO和MYTEXT的定義必須進入文件abc.conf;有可能進入SECION [宏]。

其他問題:

是否有模式的匹配問題,如果

FOO應與 '酒吧' 和FOOX與 'BARBAR' 被取代?

回答

4

用於替代FOO到酒吧和FOOX到BARBAR我會使用替換語法的任務:

= AsciiDoc title 
:FOO: bar 
:FOOX: barbar 

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

正如你所看到的,你聲明替換爲:VARIABLE:,你使用它作爲{VARIABLE}。關於實際創建新的宏,宏通常是macroname:content[Text input]類型的。對於Python AsciiDoc項目,他們被記錄爲here,對於基於ruby的AsciiDoctor項目,最終爲here,但我從未真正使用它們,我更喜歡替換和條件塊。

+0

您提供了一個備用解決方案,但實際上並未回答該問題。 – lscoughlin 2016-08-18 11:58:28