全局取消设置页面局部

当Antora处理每个页面时,它将文件内容从AsciiDoc转换为HTML。(在组件版本中,页面通常按模块和相对文件名的顺序处理)。将内容从AsciiDoc转换为HTML通常会影响包含指令的行为。具体来说,使用包含指令包含已经处理过的页面的页面将看到HTML而不是AsciiDoc。

为了解决这个排序问题,Antora可以保留AsciiDoc源,直到所有页面都被转换。通过在页面的文档头中设置page-partial属性来激活此行为。从Antora 2.2开始,默认情况下(软)全局设置page-partial属性。(软设置意味着页面仍然可以覆盖它)。所以,实际上,你甚至不必考虑它。它会自动工作。

保留AsciiDoc源的缺点是它可能会使非常大的站点的Antora的峰值堆使用量增加约10%。如果这是一个问题,你可以恢复到以前的“点菜”行为。要恢复到以前的行为(在Antora 2.2之前),在playbook文件中设置以下属性:

asciidoc:
  attributes:
    page-partial: false

page-partial属性将不再全局设置。现在你必须在想要在包含指令中使用的任何页面上设置page-partial属性。例如:

= 共享页面
:page-partial:

页面内容。

设置了page-partial属性后,你可以安全地使用包含指令引用该页面:

include::shared-page.adoc[]

请记住,包含页面中的page-partial属性指示Antora保留AsciiDoc源,直到所有页面都被转换。