iga*_*gis 6 asciidoc asciidoctor
如何在asciidoc/asciidoctor中定义宏?
我将在文档的许多部分使用重复模式,因此我想进行参数化替换以避免多次输入相同的内容.
特别是,我有以下asciidoc片段:
{set:cellbgcolor:grey}
[grid=none, frame=none]
|===
| X >| Y
|===
{set:cellbgcolor!}
Run Code Online (Sandbox Code Playgroud)
我需要将它放在文档的几个部分中,用不同的文本替换来代替X和Y.我该如何实现?
在我看来,您在 Asciidoctor 中无法获得在其他文档引擎中获得的所有灵活性/简单性:
我认为你可以在 Asciidoctor 中使用包含宏和变量:
创建一个名为snippet.adoc(我的示例基于您的示例)的文件:
{set:cellbgcolor:grey}
[grid=none, frame=none]
|===
| {paramX} >| {paramY}
|===
{set:cellbgcolor!}
Run Code Online (Sandbox Code Playgroud)
在您的主文档中,像这样使用它:
== My document
:paramX: lorem
:paramY: ipsum
include::snippet.adoc[]
Lorem ipsum dolore.
:paramX: aaaa
:paramY: bbbb
include::snippet.adoc[]
Lorem ipsum dolore.
Run Code Online (Sandbox Code Playgroud)
那说 asciidoctor 可以扩展。您还可以创建自己的真正的宏(用 Java 或 Ruby 编写),但这需要更多的工作。根据您的用例,您可以在网上找到几个示例。
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |