在asciidoctor宏中使用角色?

时间:2016-11-07 15:40:51

标签: asciidoc asciidoctor

我正在尝试创建一个简单的宏来在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。 与此相关的一个问题建议使用包含哪些内容过于苛刻。

宏的限制是什么?

2 个答案:

答案 0 :(得分:1)

你定义的不是宏,它是一个属性。 (当你使用它时,它被称为属性引用)。

您可以使用内联传递宏在属性定义中急切地执行替换。在目标位置,它接受以逗号分隔的替换名称列表(或替换字母)。

在你的情况下,你可以写:

:redtext: pass:q[[red]#some important text in red that occurs a lot#]

相关部分是:

pass:q[...]

有关详细信息,请参阅substitutions in an attribute entry

答案 1 :(得分:0)

我认为包括足够好的工作。我们有一个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]