在Asciidoc / Asciidoctor中隐藏ToC的标题

时间:2016-12-02 14:19:23

标签: asciidoc asciidoctor

我想找到一种方法来隐藏我的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”。

我很感激任何提示或想法。

由于

1 个答案:

答案 0 :(得分:3)

我只是想出来了 - 哦哦!

一个可行的解决方案是在您要定义的标题上方插入[discrete]属性:

[discrete]
=== H3 (Remove from ToC)
This is the H3 content.

This section of the Asciidoctor docs显示了此属性的正常使用方式。但是,您实际上不需要使用H2标头 - Asciidoctor在使用[discrete]时尊重层级,因此嵌套仍然有用。