隐藏主TOCTree中的Sphinx子部分

时间:2013-02-23 00:32:34

标签: documentation python-sphinx tableofcontents

是否可以隐藏主TOCTree中RST文件中的一个(或所有)子部分?

让我再说一点:

index.rst

:doc:`Label <path/to/rst/file>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. toctree::

   Label <path/to/rst/file>
   Label <path/to/rst/file>

   Label of Children TOCTree <path/to/rst/children/file>

童/ file.rst

Children Title
==============

.. toctree::

   Label of Grandchildren 1
   Label of Grandchildren 2


Subsection 1
------------

Subsection 2
------------

Subsection 3
------------

这些文件在构建之后将在主TOCTree中生成:

  • 标签
  • 标签
  • 儿童标签
    • 孙子1的标签
    • 孙子2的标签
    • 第1小节
    • 第2小节
    • 第3小节

我想隐藏分段,只保留TOCTrees,尽可能多和深。 E.g:

  • 标签
  • 标签
  • 儿童标签
    • 孙子1的标签
    • 孙子2的标签

但是,如果点击与儿童标签相关联的超链接,则会照常列出子部分;

5 个答案:

答案 0 :(得分:7)

&#34;标题&#34;指令可以实现你想要的:

http://sphinx-doc.org/markup/para.html#directive-rubric

它不会以完全相同的方式生成章节标题,但至少它们不会出现在TOC中

答案 1 :(得分:6)

我花了一段时间才弄明白,但我想我终于明白了。 “技巧”是你需要在包含toc的父rst和包含该部分的子rst中设置指令。

对我来说,我将:maxdepth:1:titlesonly:添加到父级中的toc中,然后:titlesonly:添加到子级中的toc中,这样就完美了。这允许我在子项中具有分层子格式格式,该格式正确呈现,而不会显示在TOC中。

答案 2 :(得分:4)

您可以使用toctreemaxdepth参数来设置TOC的深度:

.. toctree::
    :maxdepth: 2

答案 3 :(得分:1)

尝试将------------------更改为*****************以获取第1小节等。此外,您也可以使用自己的maxdepth制作多个toctree,例如

.. toctree::
    :maxdepth: 2

    Label <path/to/rst/file>
    Label <path/to/rst/file>

.. toctree::
    :maxdepth: 1
    Label of Children TOCTree <path/to/rst/children/file>

答案 4 :(得分:0)

您可以制作自己的标签

您想要的标题类型

|start-h3| My Title |end-h3|

在文件末尾写入

.. |start-h3| raw:: html

     <h3>

.. |end-h3| raw:: html

     </h3>