Antora中的AsciiDoc属性

与AsciiDoc处理器一样,Antora使用AsciiDoc文档属性(以下简称为属性)在页面之间传递信息。这些属性用于切换或配置处理设置,控制输出的行为和样式,将元数据从源传递到UI模板,以及将页面的信息传递给内容等多种用途。

一般来说,属性分为两种类型:内置属性和自定义属性。属性还可以分为页面属性和非页面属性。本页面介绍这些属性类别,并引导您查阅其他页面以了解它们的定义和用法。

内置属性

内置属性是AsciiDoc文档属性,它们要么将信息传递给页面,要么为作者提供切换或配置行为的方式。一些内置属性是只读的,而其他一些则可以被修改。

内置属性具有保留名称并提供特殊的预定义目的。例如,idseparator属性用于控制自动生成的部分ID的单词分隔符。尽管内置属性的目的是受限的,但与所有AsciiDoc属性一样,可以使用属性引用(例如,{idseparator})在页面上显示其值。

许多可修改的内置属性具有一组受限的可接受值。每个值代表预定义行为或边界条件。例如,xrefstyle属性控制内部交叉引用的链接文本样式,可使用预定义值basic、short或full。而max-include-depth属性指定了可以嵌套包含的深度。

AsciiDoc处理器定义了许多内置属性。Antora引入了额外的内置属性,这些属性特定于Antora环境。这些属性的目的是配置AsciiDoc处理器以与Antora一起工作。在大多数情况下,这些属性以page-为前缀,使它们成为内在的页面属性

请参阅内在属性以获取Antora定义的只读属性列表。请参阅AsciiDoc文档属性参考以获取AsciiDoc中定义的所有内置属性列表(尽管请注意,并非所有属性在Antora环境中都相关)。

自定义属性

自定义属性是作者定义的AsciiDoc文档属性。您可能熟悉在AsciiDoc中使用自定义属性来存储可重用的内容,例如URL或产品名称。然后,自定义属性的值可以在页面内(或跨页面,取决于定义位置)使用属性引用。在Antora中,自定义属性的工作方式与此相同。

请参阅定义自定义AsciiDoc属性定义自定义页面属性以了解如何定义自己的自定义属性。

页面属性

当属性名称以page-开头时,事情变得有趣起来。通过这种特殊指定,属性变成了页面属性。

对于AsciiDoc文档,页面属性与任何其他AsciiDoc属性一样。例如,您可以使用内置页面属性{page-version}引用当前页面的组件。或者您可以定义自己的页面属性命名为page-edition,并在页面中使用{page-edition}引用它。在这种情况下,page-前缀并不重要。

这种特殊指定发挥作用的地方是应用UI模板到页面内容时。页面属性被提升到页面的UI模型,因此可以在UI模板(例如,layouts/default.hbs)中使用表达式page.attributes.<name>访问。实际上,页面属性允许作者通过在页面的标题或配置文件(例如Antora playbook)中定义属性来传递元数据,从而使该信息在AsciiDoc文档之外使用。甚至可以从UI模板中访问不是以page-为前缀的页面属性(尽管仍然可以使用UI助手访问所有属性)。

虽然页面属性主要是自定义属性,但Antora定义了一些内置页面属性,用于控制Antora特定功能或获取有关当前页面的信息。请参阅页面属性以了解更多关于页面属性的信息,以及如何定义和使用它们。