最新预发行版本段

latest_prerelease_version_segment键用符号性预发行版本替换最新预发行资源的URL中的实际版本。

为了使版本被分类为预发行版本,组件还必须至少具有一个非预发行版本。如果一个组件只有预发行版本,则即使在组件描述符中设置了prerelease键,最新版本也不会被分类为预发行版本。当一个组件只有预发行版本时,将使用latest_version_segment的值。这种行为可能会在未来发生变化。

latest_prerelease_version_segment键

latest_prerelease_version_segment键在playbook中配置在urls键下。

示例1. antora-playbook.yml
urls:
  latest_prerelease_version_segment: unstable

分配给latest_prerelease_version_segment键的值是符号性预发行版本。Antora将最新预发行组件版本的URL的版本段中的实际版本替换为符号性预发行版本。组件版本必须被指定为预发行,并且Antora必须确定它是组件的最新预发行版本,才能将latest_prerelease_version_segment键的值应用于其页面和资源的URL。根据分配给latest_version_segment_strategy键的策略,Antora在路由到或从符号性和实际版本的URL时可能会应用额外的重定向规则。

值要求

适用于version键值的要求也适用于latest_prerelease_version_segment键。该值可以包含字母、数字、句点(.)、下划线(_)和连字符(-)。为了确保在主机平台之间的可移植性,使用小写字母。

latest_prerelease_version_segment键的值不能包含空格、正斜杠(/)或HTML特殊字符(&<>)。只有当latest_version_segment_strategy的值为redirect:toreplace时,该值才能为空。如果latest_version_segment_strategy的值为redirect:from,则该值不能为空。这个限制是因为从父文件夹重定向可能会阻止访问其他版本。

指定最新预发行版本段

本节探讨将符号性预发行版本分配给latest_prerelease_version_segment键的结果。本节中的示例使用组件版本描述符文件中定义的组件版本。示例2中定义了一个名为colorado,版本为6.0的组件版本。

示例2. 定义colorado 6.0组件版本的组件版本描述符(antora.yml文件)
name: colorado
version: '6.0' (1)
prerelease: -beta.2 (2)
1 antora.yml中的version键将组件的实际版本定义为6.0
2 prerelease键和分配的标识符-beta.2告诉Antora该组件版本是一个预发行版本。

colorado 6.0组件版本有一个名为tour.adoc的页面,属于模块get-started。首先,让我们回顾Antora默认生成的URL。也就是说,当playbook中未设置latest_prerelease_version_segment键时。默认情况下,Antora在页面和资源的URL的版本段中使用实际版本,即使组件版本是带有标识符的预发行版本示例3显示了属于colorado 6.0组件版本的tour.adoc页面的默认URL。

示例3. colorado 6.0 tour.adoc页面的URL
https://docs.example.com/colorado/6.0/get-started/tour.html

现在,让我们为该站点中的最新预发行组件版本分配一个符号性预发行版本。latest_prerelease_version_segment键在playbook文件中配置,而不是在组件版本描述符文件中,因为它适用于站点中的所有最新预发行组件版本。示例4显示了带有latest_prerelease_version_segment键定义的截断的playbook文件。

示例4. 定义符号性预发行版本的Playbook(antora-playbook.yml文件)
site:
  title: The Ranges
  url: https://docs.example.com
urls:
  latest_prerelease_version_segment: next (1)
content:
  # ...
1 latest_prerelease_version_segment设置在urls键下,并分配值next

假设根据其语义和命名版本排序规则,Antora确定colorado 6.0colorado组件的最新预发行版本。使用playbook和组件版本的antora.yml文件中的信息,Antora构建了tour.adoc页面的以下URL。

现在,在示例5中,版本段包含符号性预发行版本next

示例5. 当设置latest_prerelease_version_segment时,colorado 6.0 tour.adoc页面的URL
https://docs.example.com/colorado/next/get-started/tour.html

附加预发行标识符6.0-beta.2仍然显示在参考UI菜单中。符号性预发行版本next仅用于URL。要自定义在参考UI菜单中显示的值,请使用display_version键

本节中的示例假设未设置latest_version_segment_strategy键。因此,当Antora检测到latest_prerelease_version_segment键时,它会在运行时自动设置latest_version_segment_strategy键,并将其分配为replace策略。查看最新版本段策略以了解redirect:toredirect:from策略如何与latest_prerelease_version_segment键一起工作。