版本方面
实际版本
实际的版本是一个标识符,当它与组件名称结合使用时,将为彼此直接相关的内容和源文件集合创建一个唯一标识。这个源文件集合是一个组件版本。组件版本总是有一个实际版本。即使是未版本化的组件版本也有一个实际版本,定义为空字符串,用于内部排序和路由目的。
组件版本的实际版本被分配给其组件版本描述符( antora.yml
)中的版本键。或者,实际的版本是由 Antora 根据分配给 Antora.yml 版本键的模式从 git refname 中提取的或剧本中的内容源获取。
内容编写者使用实际版本来引用其他组件版本中的页面和资产。Antora 使用实际版本:
-
对组件版本进行排序
-
确定组件的最新版本
-
应用路由规则
-
当组件版本为版本化时为了在 UI 中显示目的
-
作为已发布URL中的版本段,除非组件版本未进行版本控制
在下面的章节中描述的每个版本面预发布、显示和符号,都覆盖了一个默认行为,否则 Antora 将使用实际版本。
预发布版本
项目或产品在最终发布之前可用的版本通常称为预发布版本。组织使用语义版本标识符,例如 -alpha.1
,或特殊名称,如 M1
或 Snapshot
,以向最终用户传达该版本是预发布版。为了补充项目的预发布版本,可以使用预发布( prerelease
)键将组件版本指定为预发布版本。
当在 antora.yml 文件中预发布键被分配标识符或保留值 true
时,组件版本被指定为预发布。使用预释放( prerelease
)键有以下好处:
-
当组件版本是预发布版本时,如果版本坐标未指定或无法确定,则 Antora 不会将来自其它组件版本的传入页面和资源ID引用路由到预发布版本。相反,Antora 将这些引用路由到组件的最新稳定版本。
-
预发布键允许组件版本的实际版本(version)表示从组件版本开始的稳定版本。换句话说,预发布不会改变实际版本。它只是修改了它的含义,所以 Antora 没有将其归类为稳定版本。因此,当组件版本从预发布升级到稳定发布时,该组件版本的已发布 url 和专门针对该组件版本的其他组件版本的入站引用不会受到影响。
-
除非为显示版本键指定了一个值或将
prerelease
赋值为true
,否则预发布标识符将被附加到实际版本并显示在 UI 菜单中,向最终用户显示组件版本是预发布版本。-
如果组件版本未进行版本控制,则在 UI 菜单中只显示预发布标识符。
-
显示版本
实际版本不能包含空格、大写字母或导致处理或可移植性错误的某些字符。但是,如果最终用户希望使用空格、大写字母或其他符号显示版本,则在 UI 菜单中显示的实际版本可能无法提供适当的体验。在这种情况下,应该将显示版本分配给组件版本。
显示版本是一个标识符,仅用于 UI 菜单中的表示目的。与实际版本不同,显示版本可以包含空格、大写字母和其他符号或字符。通过在组件版本 antora.yml
中使用“显示版本”键来指定显示版本。显示版本由显示版本的 UI 使用,包括组件版本选择器和页面版本选择器。页面或资源id、组件版本路由和排序或url的版本段中从不使用显示版本。
符号版本和符号预发布版本
符号版本或符号预发布版本是一个替换 URL
版本段中实际版本的值。符号版本和预发布版本分别只适用于最新组件版本和最新预发布版本的 url
。符号版本或预发布版本永远不适用于未版本化的组件版本。因为符号版本和符号预发布版本适用于站点中的所有最新组件版本或预发布版本,所以这些值是在您的剧本中分配的,而不是在单个组件版本 antora.yml
的脚本中分配的。符号版本被分配给剧本中最新的版本段键。符号预发布版本被分配给剧本中最新的预发布版本段键。
版本方面总结
方面 | 页面和资源ID | 排序和路由 | 引用UI中菜单 | URL版本段 |
---|---|---|---|---|
Actual |
Yes |
Yes |
Yes 例外: 如果将值分配给 display_version ,则显示显示版本(display_version)而不是实际版本。 如果为 prerelease 分配了标识符并且未设置 display_version ,则 Antora 会通过将标识符附加到实际版本来自动计算 display_version 的值。该计算后的值将显示而不是实际版本。 如果组件版本是未指定版本,则实际版本不会显示。相反,根据其 antora.yml 文件中指定的版本要素,显示显示版本,prerelease标识符或回退 |
Yes 例外: 如果组件版本是未指定版本,则页面和资源URL不包含版本段。 如果将值分配给 latest_version_segment ,则实际版本将由符号版本替换。此行为仅适用于最新版本的组件版本的 |
Prerelease |
No |
Yes |
Yes 例外: 如果将值分配给 如果为 |
No 例外: 如果将值分配给 latest_prerelease_version_segment ,则实际版本将被符号 prerelease 版本所替换。此行为仅适用于未定义为未版本化的组件的最新 prerelease 版本的 URL 。 |
Display |
No |
No |
Yes |
No |
Symbolic |
No |
No |
No |
此仅适用于组件的最新版本;不适用于未版本化的组件版本。 |
Symbolic prerelease |
No |
No |
No |
此仅适用于组件的最新 prerelease 版本;不适用于标记为 prerelease 的未版本化的组件版本。 |