首页
学习
活动
专区
圈层
工具
发布

asciidoc宏
EN

Stack Overflow用户
提问于 2012-01-28 13:20:57
回答 2查看 2.8K关注 0票数 11

我使用asciidoc来呈现文本。

我很难理解宏。我的目标是有一个简单的宏处理(如在LaTeX中)。我想写两个宏:

  1. FOO应由"bar"取代
  2. MYTEXT(xyz)应替换为:"This is my text xyz!" (可能使用了另一种传递参数“xyz”的方法)

示例文件abc.txt:

代码语言:javascript
复制
text text text
FOO text FOO
text text text
MYTEXT(jajaja)

这应该会导致

代码语言:javascript
复制
text text text
bar text bar
text text text
This is my text jajaja!

我希望FOOMYTEXT的定义必须进入abc.conf文件;很可能进入secion宏。

补充问题:

模式匹配是否存在问题,如果应该用FOO替换'bar',将FOOX替换为'barbar'

EN

回答 2

Stack Overflow用户

发布于 2013-11-01 18:44:38

对于将FOO替换为bar和FOOX替换为barbar的任务,我将使用替换语法:

代码语言:javascript
复制
= 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项目的这里,但我从未真正使用过它们,我更喜欢替换和条件块。

票数 6
EN

Stack Overflow用户

发布于 2022-04-25 08:11:06

有一个单独的项目,我与之相关

http://github.com/verhas/jamal

它是一种宏处理器,可作为Asciidoctor预处理器使用。请注意,这不是Asciidoc,它是格式,而是转换器Asciidoctor的实现。

我认为贾马尔只是做了你想要的。它具有复杂的宏处理能力,超越了Asciidoc的宏,还有许多内置的宏,有些是替换的,有些是扩展Asciidoc格式和宏功能的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9045543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档