扩展

扩展是 AsciiDoc 成功的核心,因为它们为该语言开辟了新的用例。Asciidoctor 提供了一个 扩展 API,它提供了扩展点的超集。因此,Asciidoctor 中的扩展易于编写,功能强大且易于分发。

Asciidoctor 还允许使用编程语言的全部功能(无论是 Ruby、Java、Groovy 还是 JavaScript)来编写扩展。您无需大费周章即可获得所需的功能,并且可以使用 gem 或 JAR 等事实上的标准打包机制来分发扩展。

可用的扩展点

Asciidoctor 提供以下扩展点

预处理器

在将原始源行传递给解析器之前处理它们。请参阅 预处理器扩展

树处理器

解析完成后处理 Asciidoctor::Document (AST)。请参阅 树处理器扩展

后处理器

在文档转换完成后、写入磁盘之前处理输出。请参阅 后处理器扩展示例

文档信息处理器

向生成的文档的页眉或页脚区域添加额外内容。请参阅 文档信息处理器扩展示例

块处理器

处理带有自定义块样式的(即 [custom])内容块。(类似于 AsciiDoc 过滤器)请参阅 块处理器扩展示例

复合块处理器

注册一个名为 collapsible 的自定义块,该块将列表块转换为复合块。请参阅 复合块处理器示例

块宏处理器

注册并处理自定义块宏(例如 gist::12345[])。请参阅 块宏处理器扩展示例

内联宏处理器

注册并处理自定义内联宏(例如 保存)。请参阅 内联宏处理器扩展示例

包含处理器

处理 include::<filename>[] 指令。请参阅 包含处理器扩展示例

Asciidoctor 扩展实验室 中还有其他扩展示例。