Antora怎么运行
Antora 的站点生成器处理创建文档站点的所有方面,从获取和聚合到转换和安排内容,再到发布生成的站点的文件。本页详细描述了该过程。
默认的管道是固执己见的,以便让您尽快开始。但是要知道,Antora 的特点是模块化的、开放的架构。这意味着该体系结构可以通过允许在需要时将自定义 Antora 组件(如验证器)插入到管道中的策略点来适应专门的用例。本页重点介绍了核心的、内置的 Antora 组件和功能。
默认生成器管道中的步骤
本节中列出的步骤描述了站点生成器执行的操作。某些操作是异步执行的,因此下面的一些步骤可能以不同的顺序发生或同时发生。例如,在聚合内容时获取和加载 UI ,以优化网络的使用。
- Build playbook
-
当您准备好生成一个站点时,您可以向 Antora 传递一个 playbook 文件并让它运行。
剧本文件是一个简单的配置文件 ,可以用 YAML、JSON 或 TOML 编写。它包含信息和设置,例如使用什么内容、如何处理内容、如何生成站点以及在何处发布输出。
Antora 读取剧本文件并从中构建剧本,然后使用它来驱动管道。
- Load content repositories
-
使用剧本中列出的 内容源,Antora 加载指定的 git 存储库或本地内容文件夹,准备扫描它们以查找内容文件。
对于每个远程 URL , Antora 使用内置的 git 客户端将远程 git 存储库克隆到本地缓存中。如果存储库已经被克隆,那么如果配置需要这样做,Antora 将获取更新。
最后,Antora 确定从指定的存储库中使用哪些引用(分支、标记和开始路径)。
- Find the content source roots
-
从 内容源根 开始,当 Antora 找到一个名为 Antora.yml 的组件版本描述符文件时,它将一组文件标识为组件版本的一部分。这些源文件可以存储在单个存储库中,也可以存储在存储库的根目录或子路径中,或者分布在多个存储库中。
- Transform input files into virtual file objects
-
Antora 从每个 内容源根子树 中收集所有文件文本、图像、示例和其他支持材料。然后,它为每个输入文件创建一个虚拟文件。
- Assign files to component version buckets
-
Antora 读取组件版本描述符( Antora.yml )文件。
- Compute additional metadata
-
使用剧本中的 站点属性 和在前一步中分配给文件的信息,Antora 向每个文件添加模块、家族、家族相关路径和其他元数据值。它还计算每个可发布文件的输出路径(磁盘)和发布路径(URL)信息。
- Organize files into a content catalog
-
Antora 进一步将聚合的文件分类到可以查询和传输的内容目录中。
- Convert AsciiDoc files to embeddable HTML
-
使用 Asciidoctor.js 将内容目录 页面族 中的 AsciiDoc 文件转换为可嵌入的 HTML 。
- Convert navigation files
-
Antora 从内容目录中检索 导航文件 ,将其内容转换为按照指定层次结构组织的导航项(导航树在导航菜单中分组),并返回导航模型。
- Locate and fetch UI bundle
-
Antora 使用 playbook 中列出的 URL 找到 UI bundle 并获取它。UI 包可以缓存在本地或远程。
- Transform UI files into virtual file objects
-
Antora 提取包中的 UI 文件,并为包含文件内容和路径信息的每个文件创建一个虚拟文件对象。
- Classify UI files
-
Antora 使用 UI 描述符文件(UI.yml)识别静态 UI 文件,并将文件类型设置为 static。它根据所有其他文件的位置(asset、layout、helper、partial)为它们设置类型。
- Compute UI file output paths
-
对于每个可发布的 UI 文件(静态或资产类型),Antora 计算其输出路径。
- Organize UI files into UI catalog
-
虚拟 UI 文件被分类到一个可传递的集合中。
- Wrap converted AsciiDoc content in page templates
-
Antora 确定每个页面请求哪个页面模板。它使用页面的可嵌入 HTML 、站点元数据、页面、版本和产品选择器的上下文数据(组件、版本)以及菜单和面包屑的导航模型信息填充已标识的 UI 模板。
依靠页面模板来生成页面,站点所有者可以完全控制页面的构造,从而完全控制 UI 。
- Produce sitemap
-
Antora 生成一个站点地图,可以用作内部报告或与站点一起发布。此站点地图按组件名称(使用站点地图索引)进行分区。站点地图索引链接到每个组件名称的站点地图,其中可以找到各个页面的url。
- Publish site
-
Antora 将生成的页面写到默认位置或 用户指定的位置 。站点可以使用 内置的和自定义的目标提供程序 通过多种协议以多种格式发布到多个位置。
可以用自定义的网站生成器替换默认的网站生成器。首先需要创建一个库或脚本,用签名 generateSite(args, env) 导出函数。在该脚本中,您可以自由地从 Antora 导入核心组件,以重新组装自己的管道。然后,通过将库或脚本的名称传递给 Antora CLI 的 --generator
选项来激活管道。