首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asciidoctor无法解析格式化文本:"​<a数据类型“

Asciidoctor无法解析格式化文本:"​<a数据类型“
EN

Stack Overflow用户
提问于 2020-12-19 17:36:57
回答 1查看 466关注 0票数 1

我使用以下命令运行asciidoctor:

代码语言:javascript
复制
asciidoctor -r asciidoctor-pdf -b pdf master.asciidoc

它无法解析以下文本:

代码语言:javascript
复制
pass:[<a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>]::

有以下错误:

代码语言:javascript
复制
failed to parse formatted text: ​<a data-type="xref" data-xrefstyle="ct" href="#m1">#m1</a>

我怎么才能修好它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-20 21:13:53

带有后端PDF的Asciidoctor只对文献状态那样的直通语法提供有限的支持。

Asciidoctor不支持任意传递内容。虽然PDF转换器的后端是html,但它只识别一个有限的内联HTML元素子集,这些元素可以映射到PDF (例如,一个强的、em、code )。因此,如果您的内容包含传递块或内联,您很可能需要使用条件预处理器来跳过它们(并做出其他安排)。

虽然上面提到了a标记,但一个小测试表明只支持基本语法。

使用下面的adoc文件。

代码语言:javascript
复制
= 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后端运行它会产生与您在问题中已经提到的相同的错误。

代码语言:javascript
复制
$ 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后端识别的文档同步。

要生成具有所需通过率的PDF,您可能需要将其转换为普通的asciidoctor并将其输送到wkhtmltopdf

代码语言:javascript
复制
asciidoctor -o - test.adoc | wkhtmltopdf -  test.pdf

结果使用html外观和感觉,如下图所示,正文文本略小一些。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65372649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档