2012-01-28 23 views
6

私はテキストをレンダリングするためにasciidocを使用します。asciidocマクロ

私は私の目標は

FOOが

MYTEXT(XYZ)があるべき「バー」に置き換えるべきである(ラテックス中のような)簡単なマクロ処理を持つことであるマクロ

を理解する難しさを持っています次のように置き換えられます: "これは私のテキストです!"

(おそらくパラメータ '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は 'BARBAR' と 'バー' とFOOXと交換する必要がある場合には、パターンマッチングに問題がありますか?私は置換構文を使用しますBARBARにバーとFOOXにFOOを代行するタスクのために

答えて

4

= 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