Asciidoctor 无法解析格式化文本:“ <a data-type
Asciidoctor fails to parse formatted text: "<a data-type
我是 运行 asciidoctor,命令如下:
asciidoctor -r asciidoctor-pdf -b pdf master.asciidoc
并且无法解析以下文本:
pass:[<a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>]::
出现以下错误:
failed to parse formatted text: <a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>
我该如何解决?
带有后端 PDF 的 Asciidoctor 对直通语法的支持有限,因为 documentation states。
Asciidoctor PDF does not support arbitrary passthrough content. While the basebackend for the PDF converter is html, it only recognizes a limited subset of inline HTML elements that can be mapped to PDF (e.g., a, strong, em, code, ). Therefore, if your content contains passthrough blocks or inlines, you most likely have to use a conditional preprocessor to skip them (and make other arrangements).
虽然上面提到了 a
标签,但一个小测试表明只支持基本语法。
使用下面的 adoc 文件...
= test pass
pass:[<em>#m1</em>]
pass:[<strong>#m1</strong>]
pass:[<code>#m1</code>]
pass:[<a href="#m1">#m1</a>]
pass:[<a href="#m1" data-type="xref" data-xrefstyle="ct">#m1</a>]
运行 它通过 asciidoctor pdf 后端产生与您在问题中已经提到的相同的错误。
$ asciidoctor -r asciidoctor-pdf -b pdf test.adoc
asciidoctor: ERROR: failed to parse formatted text: <a href="#m1" data-type="xref" data-xrefstyle="ct">#m1</a>
生成的 PDF 如下图所示。简单的 <a href="#m1">#m1</a>
行已正确转换。但是,一旦添加了更多属性,它就会失败。这与说明高级 html 语法不被 pdf 后端识别的文档同步。
要生成具有所需 passthrough 的 PDF,您可能需要使用普通 asciidoctor
将其转换并通过管道传输到 wkhtmltopdf.
asciidoctor -o - test.adoc | wkhtmltopdf - test.pdf
结果使用如下所示的 html 外观和稍小的正文文本。
我是 运行 asciidoctor,命令如下:
asciidoctor -r asciidoctor-pdf -b pdf master.asciidoc
并且无法解析以下文本:
pass:[<a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>]::
出现以下错误:
failed to parse formatted text: <a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>
我该如何解决?
带有后端 PDF 的 Asciidoctor 对直通语法的支持有限,因为 documentation states。
Asciidoctor PDF does not support arbitrary passthrough content. While the basebackend for the PDF converter is html, it only recognizes a limited subset of inline HTML elements that can be mapped to PDF (e.g., a, strong, em, code, ). Therefore, if your content contains passthrough blocks or inlines, you most likely have to use a conditional preprocessor to skip them (and make other arrangements).
虽然上面提到了 a
标签,但一个小测试表明只支持基本语法。
使用下面的 adoc 文件...
= test pass
pass:[<em>#m1</em>]
pass:[<strong>#m1</strong>]
pass:[<code>#m1</code>]
pass:[<a href="#m1">#m1</a>]
pass:[<a href="#m1" data-type="xref" data-xrefstyle="ct">#m1</a>]
运行 它通过 asciidoctor pdf 后端产生与您在问题中已经提到的相同的错误。
$ asciidoctor -r asciidoctor-pdf -b pdf test.adoc
asciidoctor: ERROR: failed to parse formatted text: <a href="#m1" data-type="xref" data-xrefstyle="ct">#m1</a>
生成的 PDF 如下图所示。简单的 <a href="#m1">#m1</a>
行已正确转换。但是,一旦添加了更多属性,它就会失败。这与说明高级 html 语法不被 pdf 后端识别的文档同步。
要生成具有所需 passthrough 的 PDF,您可能需要使用普通 asciidoctor
将其转换并通过管道传输到 wkhtmltopdf.
asciidoctor -o - test.adoc | wkhtmltopdf - test.pdf
结果使用如下所示的 html 外观和稍小的正文文本。