AsciiDoc处理器只需要提供有限的支持来验证内部交叉引用。当首次访问交叉引用时会发生验证。由于仍然有一些引用没有存储在解析树中(例如段落中间的锚点),这可能导致误报,因此这些验证被隐藏在一个标志之后。
当使用Asciidoctor时,你可以通过几种方式启用交叉引用的验证。
-
在使用命令行界面(CLI)时,传递
-v
命令行选项 -
在使用API时,将全局变量`$VERBOSE`的值设置为`true
-
在使用API时,将全局日志记录器的级别设置为INFO(即,
Asciidoctor::LoggerManager.logger.level = :info
)
这些调整将处理器置于严谨模式。在这个模式下,解析器会立即验证交叉引用,并在引用无效时发出警告消息。如果你将全局变量 $VERBOSE
设置为 true
,它还会在Ruby中启用警告,这可能不是你想要的。
考虑以下示例:
见<<foobar>>。 [#foobaz] == Foobaz
如果您在此文档上以冗长/一丝不苟的模式运行Asciidoctor(-v
),它会将以下警告消息发送到日志记录器。
asciidoctor: WARNING: invalid reference: foobar
AsciiDoc处理器只需要验证同一文档内的引用(解析任何包含的内容之后)。