微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为不同的模块定义具有相同键的属性?

如何解决如何为不同的模块定义具有相同键的属性?

我想在不同的模块中使用相同的键属性,但值不同。

我在 antora.yml 中定义了属性,但是好像没有办法区分模块。

我该怎么办?

解决方法

antora.yml 中的属性定义对于包含 antora.yml 的组件是全局的。无法将这些属性定位到特定模块。但是它们很容易在使用它们的页面中被覆盖。

例如,如果您在 antora.yml 中定义一个属性:

asciidoc:
  attributes:
    foo: bar

然后,无论您在组件页面中的何处使用 {foo},您都会在生成的 HTML 中看到 bar

要在特定页面中覆盖它:

:foo: FOO

当在同一页面上的任何位置遇到 {foo} 属性时,在该定义之后,您会在生成的 HTML 中看到 FOO

如果一个模块中有多个页面需要共享相同的定义,则可以将这些定义放入单独的 Asciidoc 文件中,例如 attributes.adoc。如果将该文件放入模块的 partials 文件夹中,则可以将其包含在任何需要属性定义的模块页面中:

include::partial$attributes.adoc[]

您不必在 attributes.adoc 中定义所有属性,只需为模块重新定义那些属性即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。