Sphinx的toctree可以在侧边栏中显示目录并在正文中显示项目符号列表,或者完全不显示。

10

我正在使用 Sphinx (sphinx-1.2b1-py2.7)。我想要在侧边栏中显示目录。看起来是二选一的:我只能在侧边栏中获得目录,而在文本主体中得到项目符号列表,或者就什么都没有(既没有在侧边栏中的目录,也没有项目符号列表)。

当我像这样使用 toctree 指令时:

.. toctree::  
   :hidden:

   Topic1  
   Topic2  

结果:侧边栏没有目录,正文中也没有主题的项目符号列表。

当我像这样使用“toctree”指令:


.. toctree::  

   Topic1  
   Topic2  

结果:在侧边栏中有目录(TOC),并在正文中有带项目符号的主题列表。

我只想要在侧边栏中的目录(TOC)。其他命令(maxdepth, includehidden)不起作用。我见过有人做到了,但是在寻找答案几天后却没有成功。conf.py看起来没问题,谢谢。


我认为带有 :noindex: 选项的 .. toctree:: 应该能解决问题,但实际上却没有任何作用。 - Steven Almeroth
1个回答

6
我也遇到了这个问题,我在这里找到了答案: https://bitbucket.org/birkenfeld/sphinx/issue/1171/hidden-toctree-not-displayed-in-sidebar
目录是通过在名为layout.html的文件中调用toctree()来显示的。特别地,在<div class="sidebar">中的类似以下代码的片段中显示:

{% block sidebartoc %}
<h3>{{ _('Table Of Contents') }}</h3>
{{ toctree() }}
{% endblock %}

由于我正在使用主题,因此layout.html在_themes目录内的主题目录中;否则,layout.html可能位于_templates目录中。

在较新版本的Sphinx中,当使用:hidden:时显示TOC所需的是什么?

.. toctree::  
   :hidden:

要进行翻译的内容是:在调用toctree()时,需要添加参数includehidden=True,如下所示:

{% block sidebartoc %}
<h3>{{ _('Table Of Contents') }}</h3>
{{ toctree(includehidden=True) }}
{% endblock %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接