最新版本段

latest_version_segment键将发布的URL中的实际版本替换为符号版本。正如键的名称所示,它仅适用于站点中每个组件版本的最新版本。

latest_version_segment键

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

示例1. antora-playbook.yml
urls: (1)
  latest_version_segment: current (2)
1 键入父键urls,后跟冒号(:),然后按Enter转到新行。
2 latest_version_segment键必须嵌套在urls键下。键入latest_version_segment,后跟冒号(:),然后键入符号版本值。
latest_version_segment键的值是 符号版本。Antora将URL的版本段中的实际版本替换为符号版本。符号版本仅应用于属于组件 最新版本的页面和资产的URL。根据分配给 latest_version_segment_strategy键的策略,Antora在路由到或从符号和实际版本URL时可能应用额外的重定向规则。

值要求

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

latest_version_segment键的值不能包含空格、正斜杠(/)或HTML特殊字符(&<>)。该值不能为null(这也意味着它不能缺失或~)。如果latest_version_segment_strategy的值为redirect:toreplace,则该值只能是空字符串。如果latest_version_segment_strategy的值为redirect:from,则该值不能是空字符串。这一限制是因为在父文件夹上添加重定向可能会阻止访问其他版本。

指定最新版本段

本节探讨将符号版本分配给latest_version_segment键的结果。本节中的示例使用组件版本描述文件中定义的组件版本。在示例2示例3中展示的组件版本。 示例2定义了一个名为colorado,版本为5.2的组件版本。

示例2. 定义colorado 5.2组件版本的组件版本描述文件(antora.yml文件)
name: colorado
version: '5.2' (1)
1 antora.yml中的version键将组件的实际版本定义为5.2

示例3定义了一个名为colorado,版本为5.6的组件版本。

示例3. 定义colorado 5.6组件版本的组件版本描述文件(antora.yml文件)
name: colorado
version: '5.6' (1)
1 antora.yml中的version键将组件的实际版本定义为5.6

这两个组件版本都有一个属于模块get-started的名为tour.adoc的页面。

首先,让我们回顾Antora默认生成的URL。也就是说,当在playbook中未设置latest_version_segment键时。 示例4指定了站点URL,分配给url键,Antora在构建绝对URL和在浏览器地址栏中显示URL时使用该URL。

示例4. 显示站点URL值的Playbook(antora-playbook.yml文件)
site:
  title: The Ranges
  url: https://docs.example.com
content:
  # ...

假设示例2示例3是站点中唯一的组件版本,Antora将colorado 5.6标识为colorado组件的最新版本。Antora根据其语义和命名版本排序规则确定最新组件版本和版本顺序。使用playbook和antora.yml文件中的信息,Antora为每个组件版本中的tour.adoc页面构建以下URL。

示例5所示,版本段使用实际版本5.2,用于属于colorado 5.2组件版本的tour.adoc页面。

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

示例6中,版本段使用实际版本5.6,用于属于colorado 5.6组件版本的tour.adoc页面。

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

虽然URL中没有任何内容表示5.6版本是colorado组件的最新版本,但Antora在引用UI中应用默认排序顺序,因此在组件版本选择器下,版本5.6首先列出在colorado组件名称下,在页面版本选择器中也是如此。

现在,让我们指定一个符号版本来替换最新组件版本的页面和资源URL中的实际版本。latest_version_segment键在playbook文件中配置,而不是在组件版本描述文件中,因为它适用于站点中所有最新的组件版本。 示例7显示了定义latest_version_segment键的截断playbook文件。

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

使用示例2示例3中定义的组件版本以及示例7中的playbook,Antora为每个组件版本中的tour.adoc页面构建以下URL。

示例8中,版本段使用实际版本,因为colorado 5.2不是colorado组件的最新版本。

示例8. 当设置latest_version_segment时,colorado 5.2 tour.adoc页面的URL
https://docs.example.com/colorado/5.2/get-started/tour.html

然而,在示例9中,版本段使用符号版本stable,因为Antora确定colorado 5.6colorado组件的最新版本。

示例9. 当设置latest_version_segment时,colorado 5.6 tour.adoc页面的URL
https://docs.example.com/colorado/stable/get-started/tour.html

实际版本5.6仍然显示在引用UI菜单中。符号版本stable仅在URL中使用。要自定义在引用UI菜单中显示的值,请使用display_version键

如果要从URL中删除版本段,可以通过将值设置为空字符串(与表示null的无值不同)来实现。

示例10. 定义空符号版本的Playbook
site:
  title: The Ranges
  url: https://docs.example.com
urls:
  latest_version_segment: '' (1)
content:
  # ...
1 latest_version_segment的值设置为空字符串以从URL中删除版本段。

现在,最新版本中的页面将可以从不包含版本段的URL访问。

示例11. 当latest_version_segment为空时,colorado 5.6 tour.adoc页面的URL
https://docs.example.com/colorado/get-started/tour.html

URL中不再显示版本。实际版本5.6仍然显示在引用UI菜单中。请记住,如果latest_version_segment_strategyredirect:from,则无法将latest_version_segment设置为空字符串。

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