我使用asciidoc来呈现文本。
我很难理解宏。我的目标是有一个简单的宏处理(如在LaTeX中)。我想写两个宏:
FOO应由"bar"取代MYTEXT(xyz)应替换为:"This is my text 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替换'bar',将FOOX替换为'barbar'
发布于 2013-11-01 18:44:38
对于将FOO替换为bar和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项目的文档化AsciiDoc,最终是基于红宝石的AsciiDoctor项目的这里,但我从未真正使用过它们,我更喜欢替换和条件块。
发布于 2022-04-25 08:11:06
有一个单独的项目,我与之相关
http://github.com/verhas/jamal
它是一种宏处理器,可作为Asciidoctor预处理器使用。请注意,这不是Asciidoc,它是格式,而是转换器Asciidoctor的实现。
我认为贾马尔只是做了你想要的。它具有复杂的宏处理能力,超越了Asciidoc的宏,还有许多内置的宏,有些是替换的,有些是扩展Asciidoc格式和宏功能的。
https://stackoverflow.com/questions/9045543
复制相似问题