版本特性

实际版本

实际版本是一个标识符,当与组件名称结合时,为彼此直接相关的内容和源文件集合创建一个唯一标识。这些源文件集合是一个组件版本。组件版本始终有一个实际版本。即使一个无版本组件版本也有一个实际版本,定义为空字符串,用于内部排序和路由目的。

组件版本的实际版本被分配给其组件版本描述符(antora.yml)中的版本键。或者,Antora会从基于antora.yml中的version键分配的模式或播放簿中的内容源中提取实际版本。

内容编写者使用实际版本来引用其他组件版本中的页面和资产。Antora使用实际版本:

  • 用于排序组件版本

  • 用于识别组件的最新版本

  • 应用路由规则

  • 用于UI中的显示目的,除非组件版本无版本

  • 作为发布URL中的版本段,除非组件版本无版本

以下各节描述的每个版本特性——预发布、显示和符号——都会覆盖Antora否则将使用实际版本的默认行为。

预发布版本

在最终发布之前提供的项目或产品版本通常称为预发布版本。组织使用语义版本标识符,如-alpha.1,或特殊名称,如M1Snapshot,向最终用户传达版本是预发布版本。为了补充项目的预发布版本,可以使用prerelease键将组件版本指定为预发布版本。

当在antora.yml文件中为prerelease键分配一个标识符或保留值true时,组件版本被指定为预发布版本。使用prerelease键具有以下好处:

  • 当组件版本为预发布版本时,如果未指定版本坐标或无法确定版本坐标,Antora将不会将来自其他组件版本的页面和资源ID引用路由到预发布版本,而是将这些引用路由到组件的最新稳定版本。

  • prerelease键允许组件版本的实际版本(version)代表组件版本创建时的稳定版本。换句话说,预发布不会更改实际版本,它只会修改其含义,以便Antora不将其分类为稳定版本。因此,当组件版本从预发布版本升级到稳定版本时,组件版本的发布URL和其他组件版本中明确针对该组件版本的入站引用不受影响。

  • 除非为display_version键分配了一个值或prerelease分配了true,否则预发布标识符将附加到实际版本并显示在UI菜单中,向最终用户显示组件版本为预发布版本。

    • 如果组件版本无版本,则仅在UI菜单中显示预发布标识符。

显示版本

实际版本不能包含空格、大写字母或会导致处理或可移植性错误的某些字符。然而,当在UI菜单中显示实际版本时,如果最终用户希望版本以空格、大写字母或其他符号显示,那么应为组件版本分配一个显示版本。

显示版本是仅用于UI菜单中的展示目的的标识符。与实际版本不同,显示版本可以包含空格、大写字母和其他符号或字符。显示版本是在组件版本的antora.yml文件中使用display_version键指定的。显示版本由UI使用,用于显示版本的地方,包括组件版本选择器页面版本选择器。显示版本永远不会用于页面或资源ID、组件版本路由和排序,或URL的版本段中。

符号版本和符号预发布版本

符号版本符号预发布版本是一个值,用于替换URL的版本段中的实际版本。符号版本或预发布版本仅适用于最新组件版本或最新预发布版本的URL。符号版本或预发布版本永远不适用于无版本组件版本。因为符号版本和符号预发布版本适用于站点中所有最新组件版本或预发布版本,这些值是在您的播放簿中分配的,而不是在单个组件版本的antora.yml文件中。符号版本分配给播放簿中的latest_version_segment键。符号预发布版本分配给播放簿中的latest_prerelease_version_segment键

版本特征摘要

特征 页面和资源ID 排序顺序和路由 参考UI中的菜单 URL中的版本段

实际

例外情况:

如果为display_version分配了一个值,则显示显示版本而不是实际版本。

如果为prerelease分配了一个标识符并且未设置display_version,Antora会自动通过将标识符附加到实际版本来计算display_version的值。显示的是这个计算出的值而不是实际版本。

如果组件版本未经版本化,则永远不会显示实际版本。相反,根据其antora.yml文件中指定的版本特征,显示版本、prerelease标识符或回退的默认标签将会显示。

例外情况:

如果组件版本未经版本化,则页面和资源的URL不包含版本段。

如果为latest_version_segment分配了一个值,则实际版本将被符号版本替换。此行为仅适用于最新组件版本的URL,这些版本不是未经版本化或标记为预发布版本。

预发布

例外情况:

如果为display_version分配了一个值,则显示显示版本而不是计算出的预发布版本或回退值。

如果prerelease被分配为true并且未设置display_version,则显示实际版本或者如果组件版本未经版本化,则显示回退标签默认

例外:

如果为latest_prerelease_version_segment分配了一个值,则实际版本将被符号预发布版本替换。此行为仅适用于未定义为未经版本化的组件的最新预发布版本的URL。

显示

符号

仅适用于组件的最新版本;不适用于未经版本化的组件版本。

符号预发布

仅适用于组件的最新预发布版本;不适用于标记为预发布版本的未经版本化组件版本。