最新版本段
latest_version_segment
键将发布的URL中的实际版本替换为符号版本。正如键的名称所示,它仅适用于站点中每个组件版本的最新版本。
latest_version_segment键
latest_version_segment
键在playbook中配置在urls
键下。
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:to
或replace
,则该值只能是空字符串。如果latest_version_segment_strategy
的值为redirect:from
,则该值不能是空字符串。这一限制是因为在父文件夹上添加重定向可能会阻止访问其他版本。
指定最新版本段
本节探讨将符号版本分配给latest_version_segment
键的结果。本节中的示例使用组件版本描述文件中定义的组件版本。在示例2和示例3中展示的组件版本。 示例2定义了一个名为colorado
,版本为5.2
的组件版本。
name: colorado
version: '5.2' (1)
1 | antora.yml中的version 键将组件的实际版本定义为5.2 。 |
示例3定义了一个名为colorado
,版本为5.6
的组件版本。
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。
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页面。
https://docs.example.com/colorado/5.2/get-started/tour.html
在示例6中,版本段使用实际版本5.6,用于属于colorado 5.6组件版本的tour.adoc页面。
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文件。
site:
title: The Ranges
url: https://docs.example.com
urls:
latest_version_segment: stable (1)
content:
# ...
1 | latest_version_segment 设置在urls 键下,并分配值stable 。 |
在示例8中,版本段使用实际版本,因为colorado 5.2不是colorado组件的最新版本。
https://docs.example.com/colorado/5.2/get-started/tour.html
然而,在示例9中,版本段使用符号版本stable,因为Antora确定colorado 5.6是colorado组件的最新版本。
https://docs.example.com/colorado/stable/get-started/tour.html
实际版本5.6仍然显示在引用UI菜单中。符号版本stable仅在URL中使用。要自定义在引用UI菜单中显示的值,请使用display_version键。
如果要从URL中删除版本段,可以通过将值设置为空字符串(与表示null
的无值不同)来实现。
site:
title: The Ranges
url: https://docs.example.com
urls:
latest_version_segment: '' (1)
content:
# ...
1 | 将latest_version_segment 的值设置为空字符串以从URL中删除版本段。 |
现在,最新版本中的页面将可以从不包含版本段的URL访问。
https://docs.example.com/colorado/get-started/tour.html
URL中不再显示版本。实际版本5.6仍然显示在引用UI菜单中。请记住,如果latest_version_segment_strategy
为redirect:from
,则无法将latest_version_segment
设置为空字符串。
本节中的示例假设未设置latest_version_segment_strategy
键。因此,当Antora检测到latest_version_segment
键时,它会在运行时自动设置latest_version_segment_strategy
键,并将其分配为replace
策略。请参阅最新版本段策略以了解redirect:to
和redirect:from
策略如何与latest_version_segment
键一起使用。