Asciidoc 中文字内的替换

Substitutions inside literals in Asciidoc

似乎没有办法在 Asciidoc 的文字文本中解析变量(属性、替换),否则我会遗漏一些东西。我希望能够设置一个变量,然后在代码块或文字字符串中调用它:

:version: 1.0.1
[code]
----
tar -xzvf mysoftware-{version}.tar.gz
----

并将其解析为:

tar -xzvf mysoftware-1.0.1.tar.gz

这不可能,对吧?

您可以通过使用块的 subs 属性为任何块启用它。 subs 属性接受以下任何一项(在列表中):

  • none - 禁用替换
  • normal - 执行除标注之外的所有替换
  • verbatim - 替换特殊字符并处理标注
  • specialchars / specialcharacters - 将 <、> 和 & 替换为其对应的实体
  • quotes - 应用文本格式
  • attributes - 替换属性引用
  • replacements - 替代文本和字符参考替换
  • macros - 处理宏
  • post_replacements - 替换换行符 (+)

可以找到更多信息 in the User Manual,包括一个非常接近您要实现的目标的示例。

列表块内的替换默认关闭,但可以使用 subs 参数控制:

:version: 1.0.1
[code, subs="attributes"]
----
tar -xzvf mysoftware-{version}.tar.gz
----