asciidoctor(1)

名称

asciidoctor - 将 AsciiDoc 源文件转换为 HTML、DocBook 及其他格式

概要

asciidoctor [选项]…​ 文件…​

描述

asciidoctor(1) 命令将 AsciiDoc 源文件 文件 转换为 HTML5、DocBook 5、man(ual) page 及其他自定义输出格式。

如果 文件-,则从标准输入读取 AsciiDoc 源。

选项

安全设置

-B, --base-dir=目录

包含文档和资源的基目录。默认为包含源文件的目录,或者,如果源是从流中读取的,则为当前工作目录。当与安全模式设置结合使用时,可用于 chroot 程序执行。

-S, --safe-mode=安全模式

设置安全模式级别:unsafesafeserversecure。禁用源文件中潜在的危险宏,例如 include::[]。如果未设置,当使用此脚本调用 Asciidoctor 时,安全模式级别默认为 unsafe

--safe

将安全模式级别设置为 safe。启用 include 指令,但阻止访问源文件的祖先路径。为兼容 asciidoc 命令而提供。如果未设置,当使用此脚本调用 Asciidoctor 时,安全模式级别默认为 unsafe

文档设置

-a, --attribute=属性

定义、覆盖或取消设置文档属性。命令行属性优先于源文件中定义的属性,除非名称或值以 @ 结尾。不对值应用任何替换。

属性 通常格式为键值对,形式为 名称=值。其他形式有 名称(此时 默认为空字符串)、名称!(取消设置 名称 属性),以及 名称=值@(或 名称@=值)(此时如果 在源文档中已定义 名称 属性,则不会覆盖)。包含空格的值必须用引号括起来,形式为 名称="包含空格的值"

此选项可以指定多次。

-b, --backend=后端

后端输出文件格式:开箱即用的支持 html5docbook5manpage。您还可以使用后端别名 html(别名为 html5)或 docbook(别名为 docbook5)。可以传递其他值,但如果 Asciidoctor 无法将后端解析为转换器,它将失败。默认为 html5

-d, --doctype=文档类型

文档类型:articlebookmanpageinline。在使用 docbook 后端时设置根元素,在使用 html 后端时设置 HTML body 元素的样式类。book 文档类型允许单个文档中有多个 0 级章节标题。manpage 文档类型启用对生成 man page 所需元数据的解析。inline 文档类型允许将单个段落的内容进行格式化并返回,而无需将其包装在容器元素中。默认为 article

文档转换

-D, --destination-dir=目录

目标输出目录。默认为包含源文件的目录,或者,如果源是从流中读取的,则为当前工作目录。如果指定,则目录相对于当前工作目录解析。

-E, --template-engine=名称

用于自定义转换器模板的模板引擎。与引擎同名的 gem 将被自动加载。此名称也用于构建自定义转换器模板的完整路径。如果未指定模板引擎,将根据找到的自定义转换器模板的文件扩展名自动检测。

-e, --embedded

输出可嵌入的文档,其中不包含头部、尾部以及正文之外的所有内容。此选项对于生成可以插入到外部模板中的文档很有用。

-I, --load-path=目录

将指定目录添加到加载路径,以便 -r 可以从默认 Ruby 加载路径之外加载扩展。此选项可以指定多次。

-n, --section-numbers

自动编号章节标题。--attribute sectnums 的同义词。

-o, --out-file=输出文件

将输出写入文件 输出文件。默认为输入文件的基本名称,后跟 backend 扩展名。文件相对于当前工作目录解析。如果输入是从标准输入或命名管道 (fifo) 读取的,则输出文件默认为 stdout。如果 输出文件-,则输出文件将写入标准输出。

-R, --source-dir=目录

源目录。目前仅在同时指定了目标目录时使用。用于在目标目录中保留在此目录内转换的文件的目录结构。如果指定,则目录相对于当前工作目录解析。

-r, --require=

在执行处理器之前,使用标准的 Ruby require 加载指定的库。此选项可以指定多次。

-s, --no-header-footer

输出可嵌入的文档,其中不包含头部、尾部以及正文之外的所有内容。此选项对于生成可以插入到外部模板中的文档很有用。

-T, --template-dir=目录

包含自定义转换器模板的目录,这些模板将覆盖内置集中的一个或多个模板。(需要 tilt gem)

如果存在一个子文件夹与引擎名称(如果已指定)匹配,则该文件夹将被附加到模板目录路径。类似地,如果结果模板目录中存在一个与后端名称匹配的子文件夹,则该文件夹将被附加到模板目录路径。

此选项可以指定多次。在后续目录中找到的匹配模板将覆盖之前发现的模板。

处理信息

--failure-level=级别

设置产生非零退出代码(即失败)的最低日志级别(默认值:FATAL)。如果未设置此选项,即使记录了警告或错误,程序也会以零退出代码退出。

-q, --quiet

静默应用程序日志消息和脚本警告。

--trace

在报告错误时包含回溯信息。

-v, --verbose

将日志级别设置为 DEBUG,以便在 INFO 或 DEBUG 级别记录的应用程序消息会打印到 stderr。

-w, --warnings

打开脚本警告(适用于已执行的代码)。

-t, --timings

将计时报告打印到 stderr(读取、解析和转换时间)。

程序信息

-h, --help [主题]

打印帮助消息。如果不指定或不识别 主题,则显示命令用法。如果 主题manpage,则转储 Asciidoctor man page(以 troff/groff 格式)。如果 主题syntax,则打印 AsciiDoc 语法备忘单(以 AsciiDoc 格式)。

-V, --version

打印程序版本号。

如果未指定源文件,也可以使用 -v

环境变量

Asciidoctor 尊重 SOURCE_DATE_EPOCH 环境变量。如果此变量被赋予整数值,则该值将用作所有输入文档的 epoch 以及本地日期和时间。有关此环境变量的更多信息,请参阅 reproducible-builds.org/specs/source-date-epoch/

退出状态

0

成功。

1

失败(语法或用法错误;配置错误;文档处理失败;意外错误)。

错误报告

请参阅 Asciidoctor 的问题跟踪器:github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen

作者

Asciidoctor 由 Dan Allen 和 Sarah White 领导并维护,并得到了 Asciidoctor 社区中许多个人的贡献。该项目于 2012 年由 Ryan Waldron 在 Nick Hengeveld 为 Git 网站编写的原型基础上启动。Jason Porter 编写了此命令提供的 CLI 接口的第一个实现。

AsciiDoc.py 由 Stuart Rackham 创建,并得到了 AsciiDoc.py 社区中许多个人的贡献。

资源

项目网站: asciidoctor.org

项目文档: docs.asciidoctor.org

社区聊天: chat.asciidoctor.org

邮件列表归档: discuss.asciidoctor.org

版权

版权所有 (C) 2012-至今 Dan Allen, Sarah White, Ryan Waldron 以及 Asciidoctor 的个人贡献者。此软件的使用受 MIT 许可条款约束。