如何为ASCIIDOC文件集添加全局统一的层级式TOC?
实现Asciidoc全页面统一层级目录的方法
方法一:用include指令嵌入统一目录
这是最直接的方案,你已经做好的master.adoc正好派上用场:
- 先把
master.adoc里的目录结构整理成带跳转链接的层级列表,示例如下:
=== 文档总目录 - link:file1.adoc[file1] - link:file11.adoc[file11] - link:file111.adoc[file111] - link:file12.adoc[file12] - link:file121.adoc[file121] - link:file1211.adoc[file1211] - link:file2.adoc[file2] - link:file21.adoc[file21]
(用link:语法把文件名转成可点击的跳转链接,方便在页面间切换)
- 在每个需要显示目录的Asciidoc文件的指定位置(比如开头),添加一行引入代码:
include::master.adoc[]
编译每个文件时,会自动把master.adoc里的目录嵌入进去。后续要调整目录结构或样式,只需修改master.adoc,所有页面会同步更新。
方法二:用Asciidoctor生成全局侧边栏导航(适合批量编译)
如果你用Asciidoctor工具编译文档,可以通过配置让所有页面共用侧边栏目录:
- 把
master.adoc作为主文档,用include::指令引入所有子文档,同时开启侧边栏TOC配置:
= 项目总文档 :toc: left :toclevels: 4 include::file1.adoc[] include::file11.adoc[] include::file111.adoc[] include::file12.adoc[] include::file121.adoc[] include::file1211.adoc[] include::file2.adoc[] include::file21.adoc[]
- 执行编译命令生成带侧边栏的HTML文档:
asciidoctor master.adoc
编译后的页面左侧会自动生成层级式侧边栏目录,所有子文档内容整合在一个页面里,可通过侧边栏快速跳转对应章节。
方法三:用Antora构建工具(适合大型文档项目)
如果你的文档数量多、结构复杂,推荐用Antora实现全局统一导航:
- 在项目的
nav.adoc文件里定义层级导航结构,和你需要的目录一致:
* file1.adoc ** file11.adoc *** file111.adoc ** file12.adoc *** file121.adoc **** file1211.adoc * file2.adoc ** file21.adoc
- 配置Antora的站点文件,指定这个
nav.adoc作为全局侧边栏导航。编译完成后,所有页面会自动加载统一的层级导航栏,无需在每个文件里手动引入。
内容的提问来源于stack exchange,提问作者Noor Muhammed
相关产品推荐
相关产品推荐

