内在属性

Antora会自动将有关运行时环境、站点配置和当前页面的信息分配给各种文档和页面属性。我们将这些属性称为内在属性。Antora使用这些属性来传播有关站点和当前页面的信息给AsciiDoc内容、扩展和UI模板。

与其他内置属性(例如page-aliases)不同,内在属性旨在作为从Antora传递信息到页面的通道。因此,内在属性旨在只读,不应重新分配

这些属性在加载页面或导航文件时(即解析时)被定义。当组件描述符中的属性被解析时,它们尚未被分配,因此对组件描述符不可见。

内在环境属性

内在环境属性向文档(或文档扩展)传达文档正在被Antora处理的信息。这些属性在站点中的每个页面上设置。

  • env=site

  • env-site

  • site-gen=antora

  • site-gen-antora

您可以在预处理器条件中使用这些属性,根据文档是否由Antora处理来包含或排除内容。例如:

ifndef::site-gen-antora[]
include::local-preview-settings.adoc[]
endif::[]

您可以在playbook中定义其他环境属性。

站点和配置属性

Antora设置各种属性以配置AsciiDoc处理器。

  • attribute-missing=warn

  • !data-uri

  • icons=font

  • sectanchors

  • source-highlighter=highlight.js

这些属性旨在是合理的默认值。与其他内在属性不同,它们可以使用CLI或playbook重新配置。它们也可以被重新定义,以便可以被组件描述符或页面覆盖。

Antora目前仅支持highlight.js作为源代码块的语法高亮器。因此,将source-highlighter属性更改为其他值是没有意义的。如果您想要在源代码块上禁用语法高亮,请禁用此属性。

Antora还使用属性传递一般站点信息。

  • site-title

  • site-url

这些属性的值与playbook中定义的值相匹配。

内在页面属性

Antora通过页面属性传递有关当前页面的各种信息。这些属性为每个页面以及每个导航文件重新分配。

属性 描述 示例输出

page-component-display-version

antora.yml中指定的组件版本的显示版本

7.1 Beta

page-component-name

antora.yml中指定的组件版本的组件名称

silver-leaf

page-component-title

antora.yml中指定的组件版本的组件标题

Silver Leaf

page-component-latest-version

当前页面所在组件中最新版本的版本字符串。

7.5

page-component-version

antora.yml中指定的组件版本的版本

7.1

page-component-version-is-latest

如果当前页面的组件版本是当前页面所在组件中的最新版本,则设置。

page-edit-url

页面源文件的可编辑URL。

https://gitlab.com/forest-co/silver-leaf/edit/main/modules/ROOT/pages/index.adoc

page-module

页面所属模块的名称

ROOT

page-origin-branch

页面源文件存储在的存储库分支名称。(与page-origin-tag互斥)

v7.1.0

page-origin-private

如果页面源文件存储的来源是私有的,则设置。

page-origin-refhash

页面源文件存储的引用的SHA-1哈希。如果文件来自git工作树(即本地目录),则值为(worktree)

e8e6f6ba33b1ab3f796907b5a256893a64844cd1

page-origin-refname

页面源文件存储的引用名称。

v7.1.0

page-origin-reftype

页面源文件存储的引用类型(例如,标签或分支)。如果文件来自git工作树(即本地目录),则值为branch

branch

page-origin-tag

页面源文件存储的存储库标签名称。(与page-origin-branch互斥)

v7.1.0

page-origin-start-path

页面源文件存储的内容源的起始路径。

docs

page-origin-type

页面源文件存储的内容源类型(例如,git)。

git

page-origin-url

页面源文件存储的内容源的URL,不包含凭据。

https://gitlab.com/forest-co/silver-leaf.git

page-origin-worktree

git工作树(即本地目录)的绝对路径。仅当文件来自git工作树时设置。

/user/projects/project-name

page-relative-src-path

页面源文件的家族相对路径(从modules/<module>/pages开始)。

whats-new-in-spiky.adoc

page-version

page-component-version的别名。

7.1

请注意,AsciiDoc处理器还会分配许多内在属性,以传达有关当前文档的信息(例如,docnamedocfilesuffix),尽管这些不是页面属性(意味着它们不以page-为前缀)。

利用内在页面属性

可以使用属性引用语法(例如,{page-component-name})或通过页面UI模型使用模板变量(例如,page.attributes.component-name)访问这些页面属性的值。

示例1. 引用当前页面的模块名称、组件标题和版本
此页面属于*{page-module}*模块中的*{page-component-title} {page-component-version}*组件版本。

上面示例中的属性引用输出了当前页面的数据(如下所示),即您正在阅读的页面。

此页面属于page模块中的Antora 3.1组件版本。

由于这些是页面属性,它们会与所有其他页面属性一起提升到页面UI模型中的page.attributes映射中。可以使用属性表达式(例如,page.attributes.component-name)在UI模板中访问它们。

要了解更多关于页面属性如何工作的信息,请参阅页面属性