Asciidoctor的默认输出格式是HTML(具体来说是HTML 5)。这意味着当你不带任何参数运行Asciidoctor时,它会生成HTML。本页将解释如何使用Asciidoctor将AsciiDoc转换为HTML。
后端和转换器
Asciidoctor的内置HTML转换器为`html`和`html5`后端注册。HTML转换器生成的是用CSS3样式化的HTML 5。它可能包括JavaScript以支持额外的集成,例如客户端语法高亮。
后端名称 |
html`, `html5 |
转换器类 |
Asciidoctor::Converter::Html5Converter |
输出格式 |
HTML |
输出文件扩展名 |
.html |
Warning
|
内置HTML转换器生成的独立HTML文档从谷歌字体加载网络字体,这些字体随后被默认样式表引用。默认样式表使用网络字体,以确保文档在各个平台上呈现一致性。已经提出担忧谷歌字体不符合GDPR(通用数据保护条例)。如果这构成一个问题,你可以选择不使用谷歌字体。当这样做时,默认样式表将回退到使用通用字体族(例如,sans-serif),这些将通过你的浏览器映射到系统字体。其结果是文档的外观会有所不同,且因依赖系统字体而变得系统相关。 |
如果后端名称前缀为`x`(例如,xhtml
),转换器将生成XHTML,即HTML的XML变体。
生成HTML
在这一部分,我们将创建一个样本文档,然后使用Asciidoctor内置的HTML转换器进行处理和转换。
创建并保存一个AsciiDoc文档
-
按照下面的步骤操作,请使用你自己的AsciiDoc文件,或者复制my-document.adoc中的内容到一个新的纯文本文件中。
my-document.adocUnresolved directive in index.adoc - include::example$my-document.adoc[tags=title;body]
-
请确保以 .adoc 文件扩展名保存文件。
将AsciiDoc文档转换为HTML
To convert my-document.adoc to HTML from the command line:
-
打开一个终端。
-
切换到包含[.path]_my-document.adoc_文件的目录
-
使用
asciidoctor
命令调用Asciidoctor处理器,后面跟上文档的名称。$ asciidoctor my-document.adoc
请记住,Asciidoctor的默认转换器是html5,因此没有必要用`-b`命令来指定它。
-
你不会看到控制台打印出任何消息。输入
ls
可以查看目录中的文件,或在文件管理器中导航到该目录。你应该会看到一个新的文件名为 my-document.html。$ ls my-document.adoc my-document.html
Asciidoctor根据输入文档的名称来推导输出文档的名称。
-
在你的网页浏览器中打开 my-document.html 文件。你的文档应该看起来像下面的图片。
文件的文本、标题和链接由默认的Asciidoctor样式表设置样式,该样式表嵌入在HTML输出中。因此,你可以将[.path]_my-document.html_保存到任何计算机上,它将看起来相同。
-
如果您想在终端预览HTML,可以使用这个命令:
$ asciidoctor my-document.adoc -o - | w3m - -T text/html
生成XHTML
后端名称 |
xhtml`, `xhtml5 |
转换器类 |
Asciidoctor::Converter::Html5Converter |
输出格式 |
HTML的XML变体 |
输出文件扩展名 |
.html |
$ asciidoctor -b xhtml5 my-document.adoc
要在使用转换器模板时生成XHTML而不是HTML,请除了后端选项之外,还要将`htmlsyntax`属性设置为`xml`。
$ asciidoctor -T /path/to/templates -b slides -a htmlsyntax=xml my-document.adoc