UI Bundle URL

UI捆绑包是一个包含一个或多个站点UI的ZIP存档或目录。UI捆绑包中唯一必需的文件是页面的默认布局(例如,layouts/default.hbs)(如果启用了404页面,则还有layouts/404.hbs)。Antora在生成站点时会自动获取和加载UI捆绑包。

url键

url键是必需的。此键在playbook的ui类别键的bundle键下配置。url键接受Antora可以定位和获取站点UI捆绑包的URL或文件系统路径。文件系统路径必须指向ZIP存档或本地目录,其中ZIP存档已被解压缩。

示例1. antora-playbook.adoc
ui: (1)
  bundle: (2)
    url: https://repo.org/path/to/a-ui-bundle.zip (3)
1 输入父键ui,后跟冒号(:),然后按Enter
2 bundle键是ui的子级。输入键的名称bundle,后跟冒号(:),然后按Enter
3 url键是bundle的子级。输入url,后跟冒号和一个空格(: ),然后输入URL或文件系统路径值。

另外,url键可以从CLI中分配。

可以使用补充UI来增强UI捆绑包。

加载远程捆绑包

url的值是远程URL时,Antora在第一次运行时会下载并缓存UI捆绑包。在这种情况下,目标必须是ZIP存档。

示例2. 远程UI捆绑包
ui:
  bundle:
    url: https://repo.org/path/to/a-ui-bundle.zip

UI捆绑包基于URL的签名进行缓存。在后续运行中,只要url的值保持不变,Antora就会从缓存中加载捆绑包。这样可以避免Antora每次生成站点时都需要下载捆绑包。

使用快照

如果UI捆绑包存在于缓存中,Antora不会再次下载该捆绑包,即使启用了fetch。如果url的值保持不变,但它指向的存档随时间变化,那么UI捆绑包需要被标识为快照以绕过此缓存。

为了在不更改url值的情况下检索UI捆绑包更新,需要在url键旁边启用snapshot键。默认情况下,快照未启用(设置为false)。当快照设置为true时,Antora将在启用playbook的runtime类别下的fetch键时下载UI捆绑包。fetch键指示Antora检索更新(包括UI捆绑包快照)。

示例3. 标记为快照的远程UI捆绑包
ui:
  bundle:
    url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
    snapshot: true
如果您正在使用Antora的参考UI捆绑包,应将该捆绑包标记为快照,因为其URL永远不会更改。

如果要控制Antora何时检索更新,请在调用antora命令时传递--fetch选项。要使此设置永久生效,请在playbook中设置runtime.fetch键为true

示例4. 将更新作为持久设置获取
runtime:
  fetch: true

只有在引用远程捆绑包时(Antora默认缓存)才需要快照键。如果引用的是文件系统中的捆绑包,Antora将始终使用指定的文件。

从文件系统加载捆绑包

url键可以使用绝对或相对文件系统路径引用本地UI捆绑包。

示例5. 相对UI捆绑包路径
ui:
  bundle:
    url: ./../docs-ui/build/ui-bundle.zip

相对路径将根据以下规则扩展为绝对路径:

  • 如果第一个路径段是波浪号(~),则剩余路径将相对于用户的主目录解析。

  • 如果第一个路径段是点(.),则剩余路径将相对于playbook文件的位置解析。

  • 如果第一个路径段是紧接着加号的波浪号(~+),或者不以前述前缀开头,则剩余路径将相对于当前工作目录解析。

以下是使用绝对路径的相同UI捆绑包路径。

示例6. 绝对UI捆绑包路径
ui:
  bundle:
    url: /home/user/projects/docs-ui/build/ui-bundle.zip

以下是UI捆绑包已解压缩的位置(或其布局与已解压缩存档相同)的路径。

示例7. 已解压缩的UI捆绑包路径
ui:
  bundle:
    url: ./../docs-ui/build/ui-bundle-extracted

从本地目录加载UI捆绑包是调试逻辑的好方法。

start_path键

start_path键映射到bundle键。它接受UI捆绑包内的相对路径,Antora应从该路径开始读取文件。当UI捆绑包打包多个UI(例如,明亮、暗黑等)时,此键非常有用。

示例8. 从start_path选择UI
ui:
  bundle:
    url: /home/user/projects/docs-ui/build/ui-bundle-with-themes.zip
    start_path: dark

在此示例中,Antora将忽略UI捆绑包中不在dark目录中的所有文件。