我正在使用Sphinx生成HTML文档。
如何修改每个HTML页面的侧边栏,使其包括toctree?默认情况下,toctree似乎只在master_doc
页面中显示,并且仅在主区域而不是侧边栏中显示。
有没有简单的方法来实现这一点?我将使用readthedocs来托管生成的文档,因此我希望避免使用任何第三方插件,除非它们也可以在readthedocs上使用。
我正在使用Sphinx生成HTML文档。
如何修改每个HTML页面的侧边栏,使其包括toctree?默认情况下,toctree似乎只在master_doc
页面中显示,并且仅在主区域而不是侧边栏中显示。
有没有简单的方法来实现这一点?我将使用readthedocs来托管生成的文档,因此我希望避免使用任何第三方插件,除非它们也可以在readthedocs上使用。
你可以在conf.py
中自定义你的HTML侧边栏。
默认的HTML侧边栏包含4个模板:
['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html']
在conf.py
中,您可以像这样将localtoc.html更改为globaltoc.html:
html_sidebars = { '**': ['globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'] }
由于最终将在HTML文件中使用,因此应该可以在ReadTheDocs上正常工作。
看起来其他人也对此限制感到恼怒,因此随后开发了一个扩展程序,支持侧边栏中的 完整目录。请查看: https://pypi.python.org/pypi/sphinxcontrib-fulltoc
.rst
文件中将要扫描的章节标题文件的名称添加到toctree::
指示中。例如,如果您希望在导航窗格中显示index.rst
文件的所有标题,请在toctree::
列表中写入index
(不包括扩展名),如下所示:My Level 1 Heading
==================
Glorious content.
My Level 2 Heading
------------------
More content
.. toctree::
:maxdepth: 2
:caption: Contents:
index
index
。如果像我一样,你会使用由sphinx-quickstart
自动生成的模板开始项目 (截至撰写本文),该模板将你的.rst
文件用空的toctree填充。:hidden:
关键字。.. toctree::
:maxdepth: 1
:hidden:
index
docs/specification
docs/ux
docs/database
docs/techstack
docs/api
docs/specialFunctionalities
enter code here
pip install --upgrade setuptools
,否则它会因为一个奇怪的错误而无法安装:AttributeError: '_NamespacePath' object has no attribute 'sort'
。 - alexanderlukanin13