Asciidoctor 社区
Asciidoctor 社区项目(又名 Asciidoctor 项目)是一项持续的努力,旨在开发一个可访问、全面且开源的工具链和工作台,用于在各种平台和运行时上编写和发布 AsciiDoc 内容。
除了用于 Ruby、JVM 平台和 JavaScript 的 AsciiDoc 处理器外,该社区还为自动化工具、浏览器和 IDE 开发插件/附加组件,以及用于生成其他输出格式的扩展转换器、用于扩展集成的适配器以及用于用图表等富媒体增强 AsciiDoc 文档的扩展。
Asciidoctor 社区还通过引入新想法和创新来推动 AsciiDoc 语言的演进,并通过文档和宣传来推广 AsciiDoc。
项目
Asciidoctor 项目是一个松散组织的集合。所有 Asciidoctor 项目都是开源的(MIT 或 Apache 2.0)。这些项目的源代码仓库和问题跟踪器托管在 GitHub 上。每个项目都有自己的项目负责人和维护者(aka 项目团队),他们决定项目的运行方式。所有贡献者都自愿投入时间来从事项目。 Asciidoctor 是主要项目,因此为社区提供了整体方向和愿景。项目通常遵循语义版本控制,尽管并非(尚未)所有项目都如此。
文档
本网站上的所有文档均用 AsciiDoc 编写,并由 Antora 发布。
本网站的源代码不存储在单个存储库中。而是分布在多个存储库中。采用此策略是为了确保内容、构建和 UI(aka 主题)不混淆,并可以独立管理。最值得注意的是,每个项目的文档都与其所记录的项目一起存储。Antora 聚合了所有这些存储库的材料,以生成统一的网站。
以下是构成此网站的存储库的摘要。
- playbook 存储库 (docs.asciidoctor.org)
-
包含将所有文档整合在一起并配置网站的构建清单。文档内容源和 UI 包在 Antora playbook 文件 antora-playbook.yml 中定义。
- 内容存储库
-
每个存储库都包含其所记录项目的文档。例如,Asciidoctor core 的文档可以在存储库 github.com/asciidoctor/asciidoctor 的 docs 文件夹下找到。您可以通过查看每个页面上的“编辑此页面”链接来查找其他项目的文档位置。这些存储库的位置在 Antora playbook 文件中定义。
- UI 存储库 (asciidoctor-docs-ui)
-
包含 UI 材料(即页面模板、CSS、图像和脚本)以及将它们编译成 UI 包的构建脚本。它还托管已发布的 UI 包。UI 包的位置在 Antora playbook 文件中定义。
网站的构建过程是将 playbook 存储库中的 Antora playbook 文件传递给 antora 命令。
$ antora antora-playbook.yml
该网站每晚构建和发布,并在 playbook 存储库的每次提交时发布。如果您向 playbook 存储库提交 PR,您将获得一个部署预览,其中包括您添加到 playbook 存储库的任何其他内容源。有关网站如何构建以及如何在本地构建和预览网站的更多信息,请参阅 playbook 存储库。
与 AsciiDoc 的关系
Asciidoctor 是我们目前所知的 AsciiDoc 语法的参考解析器/解释器。换句话说,Asciidoctor 是如何解析和转换现代 AsciiDoc 的官方参考。
鉴于这一地位,Asciidoctor 本身就符合 AsciiDoc 语法。自从从 AsciiDoc.py 接管这一角色以来,Asciidoctor 已经演进了 AsciiDoc 语法。然而,为了继续演进语法,同时鼓励更多实现而不引入分歧,我们知道我们需要一个更正式的 AsciiDoc 定义。换句话说,我们需要一个独立于 Asciidoctor 的 AsciiDoc 标准。
Asciidoctor 项目与 OpenDevise 一起,一直是 Eclipse Foundation 的AsciiDoc 工作组成立的推动力量。AsciiDoc 工作组的主要目标是监督AsciiDoc 语言正式规范的创建。虽然 Asciidoctor 计划成为一个兼容的实现,但该规范和相关的兼容性计划也邀请其他实现出现。至少有一个这样的实现将在 Eclipse Foundation Development Process (EFDP) 下开发。该项目是Eclipse Austen,它旨在成为一个独立的、兼容的 AsciiDoc 处理器,可以在 JVM 上运行。