grw*_*grw 8 asciidoc asciidoctor
我想找到一种方法来从我的 Asciidoc 文档的目录中隐藏某些标题,我正在使用 Asciidoctor 将其处理为 HTML 和 PDF。
我增加了headerlevel值以包含一些其他子标题,但这样做的副作用是一些不需要的标题现在也出现在输出文档的 ToC 中。
我的文档是使用这种语句从多个源文件动态组成的:
include::deployment/topic.adoc[leveloffset=+3]
Run Code Online (Sandbox Code Playgroud)
其中一些标题不应出现在 ToC 中——包括它们会导致大量重复(它们在每个主要标题下都有相似的内容)。
例如:
每个组件主题都有一个 H1 标头,这些“leveloffset”属性根据需要降级为 h2、h3 等:
= My Topic Title
Run Code Online (Sandbox Code Playgroud)
所以我解析的文件是这样的:
= 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)
Run Code Online (Sandbox Code Playgroud)
我不能减少headerlevel去除的情况下,=== H3 (Remove from ToC)无需也删除=== H3 (Keep in ToC)从TOC。
我试图保持文档模块化。因此,将一些标题设为简单的粗体文本(使用星号)并不理想。我想将它们保留为标题,但向它们添加某种属性,将它们标记为“非 ToC”。
我会很感激任何提示或想法。
谢谢
grw*_*grw 13
我刚刚想通了 - 哦!
一个可行的解决方案是在[discrete]要定义的标题上方插入属性:
[discrete]
=== H3 (Remove from ToC)
This is the H3 content.
Run Code Online (Sandbox Code Playgroud)
Asciidoctor 文档的这一部分展示了这个属性通常是如何使用的。但是,您实际上不需要像建议的那样使用 H2 标头 - Asciidoctor 在使用时尊重层次结构[discrete],因此嵌套仍然有效。