Doxia 问题和陷阱

本文档收集了与 Doxia 合作时有关特定问题和“陷阱”的一些信息。另请查看常见问题

Apt 锚点和链接

使用Doxia 1.1处理旧的 Apt 源文件时,您可能会看到很多警告:

[WARNING] [Apt Parser] Ambiguous link: 'doxia-apt.html'. If this is a local link, prepend "./"!

[WARNING] [Apt Parser] Modified invalid link: references/doxia-apt.html

原因是在 Apt 中,指向其他源文档的链接必须以其中一个开头,./或者../将它们与内部链接区分开来。请阅读我们的 Apt 指南中关于锚点链接的部分。请特别注意 Apt 中的内部链接以“#”开头。

您应该注意这些警告,因为您的链接很可能会被破坏。不幸的是,警告消息无法指示链接断开的源文件(参见例如MPDF-11),但是,如果您在DEBUG模式下运行,例如使用开关调用 maven -X,您可以看到警告时正在解析哪个源文档发出。

图接收器事件

Doxia 区分了作为块级元素的图形和作为行内元素的图像(或图标)。例如,以下接收器事件序列

sink.figure( null );

sink.figureGraphics( "figure.png", null );

sink.figureCaption( null );
sink.text( "Figure caption", null );
sink.figureCaption_();

sink.figure_();

应输出与此 html 片段等效的内容:

<div class="figure">
  <p><img src="figure.png"/></p>
  <p>Figure caption</p>
</div>

figureGraphics( ... );单独的事件可用于生成内嵌图像,即仅在<img>html 的情况下的标记。

请注意,我们使用的是采用上述形式的形式SinkEventAttributeSet,即使我们只是传入空值。原因是替代形式(没有SinkEventAttributeSet)具有不同的行为,这是为了向后兼容而保留的(但这些方法已被弃用)。使用与上述相同的接收器事件序列,但省略null方法参数,将生成

<img src="figure.png" alt="Figure caption"/>

空生成页面

使用 Maven 报告插件运行后mvn site,您会看到生成的页面是空的。确保代码调用sink.close().