Sphinx toctree要么在侧栏中显示TOC,并在体内显示项目符号列表,要么根本没有

时间:2013-06-19 14:49:23

标签: python-sphinx

我正在使用Sphinx(sphinx-1.2b1-py2.7)。我希望TOC出现在侧边栏中。它似乎是二进制的:我只能在侧边栏中获得TOC,在文本正文中获得项目符号列表,或者我什么也得不到(侧边栏中没有TOC,没有项目符号列表)。

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

.. toctree::  
   :hidden:

   Topic1  
   Topic2  

结果:侧栏中没有TOC,正文中没有项目符号列表。

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

.. toctree::  

   Topic1  
   Topic2  

结果:侧栏中的TOC和正文中的项目符号列表。

我只想在侧边栏中使用TOC。其他命令(maxdepth,includehidden)不起作用。我已经看到它完成了,但无法让它工作。 conf.py看起来很好,但在寻找答案几天后没有运气。 感谢。

1 个答案:

答案 0 :(得分:5)

我也遇到了麻烦;我找到了答案here

通过调用toctree()内部显示TOC,例如,名为layout.html的文件。特别是,它在侧栏中显示的代码片段类似于以下代码,它位于<div class="sidebar">

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

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

在较新版本的Sphinx中,使用:hidden:时显示TOC所需的内容

.. toctree::  
   :hidden:

是将参数includehidden=True添加到toctree()的调用中,如

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