我正在尝试创建一个简单的宏,以便在asciidoctor中以红色呈现文本项。以下内容不起作用:
:redtext: [red]#some important text in red that occurs a lot#
{redtext}或者举一个更简单的例子:
:redcross: [red]#✘#我不清楚宏可以替换和不能替换的规则。目前,asciidoctor手册中的宏是空白的(http://asciidoctor.org/docs/user-manual/#macros)。asciidoc手册(http://www.methods.co.nz/asciidoc/chunked/ch21.html)也不是很清楚,但可能不适用于asciidoctor。
一个相关的未回答的问题是Resuable markup fragments with Asciidoctor。一个与此相关的问题建议使用includes,这对此来说过于夸张了。
宏的限制是什么?
发布于 2016-12-14 16:06:20
您定义的不是宏,而是一个属性。(当您使用它时,它被称为属性引用)。
您可以使用内联pass宏在属性定义中急切地执行替换。在目标位置,它接受以逗号分隔的替换名称(或替换字母)列表。
在你的例子中,你可以这样写:
:redtext: pass:q[[red]#some important text in red that occurs a lot#]相关的部分是:
pass:q[...]详情请参见substitutions in an attribute entry。
发布于 2016-11-08 02:32:43
我认为包括工作已经足够好了。我们有一个包含所有可重用片段的glossary.asciidoc文件,例如:
tag::redtext[]
[red]#some important text in red that occurs a lot#
end::redtext[]在index.asciidoc中你可以添加一个小帮助器:
:g: glossary.asciidoc然后,在您需要此代码片段的任何地方:
include::{g}[tag=redtext]https://stackoverflow.com/questions/40469032
复制相似问题