0

内联宏pass似乎不适用于 CLI 属性。

如果我呈现以下代码段:

:foo: crazy
:bar: pass:q,a[{foo} *world*]

hello {bar}

我得到了我的期望:你好疯狂的世界

但是如果我将这两个属性传递给 CLI ( asciidoctor-pdf -a foo=crazy -a bar='pass:q,a[{foo} *world*]' foo.adoc),它就不起作用:

你好 pass:q,a[{foo} *world*]

我该怎么做才能让它发挥作用?

为了添加一点上下文,我计划使用 anora 来编写我正在开发的软件的文档。我想在antora-playbook.yml或中定义属性antora.yml以充当“乳胶宏”。

4

1 回答 1

0

命令行上指定的属性被视为字符串,而不是 Asciidoc 标记。这意味着pass宏没有被处理。

但是,默认情况下,命令行上指定的属性会覆盖文档中指定的属性。因此,您可以如上所述使用包含属性定义的文档,然后可以运行:

asciidoctor-pdf -a foo=stable foo.adoc

属性的命令行定义foo覆盖文档内定义,结果为hello stable world.

于 2020-09-01T16:26:28.760 回答