就像编程语言一样,AsciiDoc 提供了一种方法,可以在你的文档中添加注释,这些注释不会被保留在发布的文档中。这种用法统称为“注释”。将文本放入注释中通常被称为“注释掉”。

注释通常用于插入面向写作者的标记,或者隐藏尚未准备好发布的草稿内容。一般而言,当你想要隐藏某些行不让处理器看到时,可以使用注释。注释也可以作为处理器的提示,用于保持相邻的内容块分隔。

AsciiDoc处理器在解析时将忽略注释,并因此不会将它们包含在解析的文档中。然而,它会在将行号映射回源文档时考虑这些行。

AsciiDoc支持两种注释风格,行注释和块注释。行注释是用来逐行添加注释的(即注释行)。块注释是用来将任意范围的行作为注释封闭起来的(即注释块)。

注释行

注释行是位于逐字块之外、以双斜线(//)开头且后面不紧跟第三个斜线的任意行。在这个前缀之后,该行可以包含任意数量的字符。人们通常会在前缀和注释文本之间插入一个空格(例如,// 行注释)。

行注释语法
// 单行注释。

当处理器遇到行注释时,它会忽略该行并继续处理,就好像那一行不存在一样。行注释在读取行时被处理,因此它们可以用在不允许有段落文本的地方,例如在文档头部的属性条目之间。

行注释可以被策略性地使用来分隔其他情况下有关联的代码块,比如两个相邻的列表。

分隔两个列表的行注释
* 第一个列表

//

* 第二个列表

在这种情况下,单行注释实际上充当了一个空段落,在文档解析时会被丢弃。但在此之前,它将作为块边界发挥其作用。

注释块

注释块是一个特殊的限定块。它由两个`////`分隔线界定的任意数量行组成。

注释块可以用在任何通常接受限定块的地方。主要的区别在于,一旦读取了该块,它就会从解析文档中删除(实际上被忽略)。另外,在限定行内的任何AsciiDoc语法都不会被解释,甚至连预处理指令也不会。

区块注释语法
////
A comment block.

请注意,这是一个限定的区块。

注释块也可以作为开放块编写,并使用注释样式:

替代块注释语法
[comment]
--
一个注释块。

注意这是一个界定的区块。

一个可以包含单个段落的评论块可以写成带有评论样式的段落:

注释段落语法
[注释]
一段注释。
像所有段落一样,行必须是连续的。

不是评论。

如果在列表项中使用注释块,它们必须像任何其他块一样附加到列表项上。

附加在列表项上的块注释
* 第一项
+
////
列表中的注释块。

注意它附加在前面的列表项上。
////

* 第二项

在表格中,注释块只能用在AsciiDoc表格单元格中。

表内块注释
|===
单元格文本

////
表中的注释块。

请注意,单元格具有“a”(AsciiDoc)样式。
////
|===

注释块对于对尚未准备好发布的文档部分进行注释、或提供背景材料、或为拟定文本提供大纲非常有效。