你可以在AsciiDoc内容中显式地标记索引项。索引项构成了一个受控词汇,可用于从索引开始按关键词导航文档。

索引目录

尽管索引项总是被处理,但只有Asciidoctor PDF和DocBook工具链支持自动创建索引目录。要创建索引,请在文档末尾定义一个标记有`index`样式的一级标题(==)。

索引
== 索引

Asciidoctor PDF和DocBook工具链将自动将索引填充到这个种子章节中。

Warning
Asciidoctor内置的HTML5转换器不会生成索引。

索引术语

AsciiDoc中有两种索引术语类型。

流指数术语

<primary>`
`((<primary>))

一个在文本流中出现的索引词(即,一个可见的术语)同时也出现在索引中。这种类型的索引词只能用来定义一个主要条目。

隐蔽索引词

\`
`++

一组仅出现在索引中的索引术语。这种类型的索引术语可用于定义主要条目以及可选的次级和三级条目。

这是一个展示两种形式使用的例子。

(((剑,阔剑,Excalibur(埃克斯卡利伯))))湖中女神,她的手臂被最纯净闪烁的细麻布覆盖,
从水的怀抱中高高举起了王者之剑,
通过神圣的天命表明我,亚瑟,是执掌王者之剑的人。
这就是我成为你们国王的原因。闭嘴!你能闭嘴吗?!
不管怎样烧掉她!我不是女巫。
看,我主!我们找到他们了。

(((骑士,圆桌骑士,兰斯洛特)))Lancelot是圆桌骑士之一。
  1. 双括号形式添加了一个主索引项,并将该项包含在生成的输出中。

  2. 三重括号形式允许一个可选的第二和第三索引项,并且在生成的输出中_不_包含这些项(即,隐藏的索引项)。

  3. 内联宏 indexterm2:[primary] 等同于双括号形式。

  4. 内联宏 \ 等同于三重括号形式。

如果您正在定义一个隐藏的索引项(即`indexterm`宏),并且其中一个术语含有逗号,您必须用双引号将该部分包围起来,这样逗号才会被当作内容处理。例如:

(((骑士,"亚瑟,国王")))我,亚瑟王。

或者

(((骑士,"亚瑟,国王")))我,亚瑟王。

隐藏索引项的放置

隐藏索引项应该直接与它们适用的段落内容相邻。 正确 显示了在段落中应该放置隐藏索引项的位置。

正确
=== 创建一个新的Git仓库

(((代码库,创建)))(((创建Git仓库)))要创建一个新的git仓库,

如果术语与段落内容之间用空行隔开,这将会在解析后的文档中创建一个空段落,从而在生成的输出中留下额外的空间。错误也不正确 显示了你不应该为一个段落放置隐藏索引术语的位置。

错误
=== 创建一个新的Git仓库

(((代码库,创建)))(((创建Git仓库)))

要创建一个新的git仓库,
也不正确
=== 创建一个新的Git仓库
(((代码库,创建)))(((创建Git仓库)))

要创建一个新的git仓库,