我想找到一种方法来隐藏我的Asciidoc文档中的目录中的某些标题,我正在使用Asciidoctor处理HTML和PDF。
我增加了headerlevel
值以包含其他一些子标题,但这样做的副作用是输出文档的ToC中现在也存在一些不需要的标题。
我的文档是使用这种语句从多个源文件动态编写的:
include::deployment/topic.adoc[leveloffset=+3]
其中一些标题不应出现在ToC中 - 包括它们会导致大量重复(它们在每个主标题下都有相似的内容)。
E.g:
每个组件主题都有一个H1标题,这些' leveloffset'属性根据需要降级为h2,h3等:
= My Topic Title
所以我的解决文件看起来像这样:
= Main Title (Keep in ToC)
== H2 (Keep in ToC)
=== H3 (Keep in ToC)
== H2 (Keep in ToC)
=== H3 (Remove from ToC)
== H2 (Keep in ToC)
=== H3 (Remove from ToC)
我无法删除headerlevel
以删除=== H3 (Remove from ToC)
的实例,而也从ToC中移除=== H3 (Keep in ToC)
。
我试图保持文档模块化。因此,制作一些标题简单粗体文本(使用星号)并不理想。我想将它们保留为标题,但是为它们添加某种属性,将它们标记为“非ToC”。
我很感激任何提示或想法。
由于
答案 0 :(得分:3)
我只是想出来了 - 哦哦!
一个可行的解决方案是在您要定义的标题上方插入[discrete]
属性:
[discrete]
=== H3 (Remove from ToC)
This is the H3 content.
This section of the Asciidoctor docs显示了此属性的正常使用方式。但是,您实际上不需要使用H2标头 - Asciidoctor在使用[discrete]
时尊重层级,因此嵌套仍然有用。