2013-09-23 47 views
28

我在Sphinx中生成html文檔。如何在每個頁面的側邊欄中包含toctree

如何修改文檔中每個html頁面的側邊欄,以便它們包含toctree?默認情況下,toctree似乎只顯示在master_doc頁面,並且只在主區域而不是在側邊欄。

有沒有簡單的方法來做到這一點?我將使用readthedocs來託管生成的文檔,所以我寧願避免使用任何第三方插件,除非它們也可以在readthedocs上使用。

回答

32

您可以在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'], } 

但我不知道這適用於readthedocs。

+2

該解決方案在readthedocs工作的罰款。 –

+3

截至2016年12月 - 此選項不在默認的sphinx conf.py中,因此您無法搜索'html_sidebars',但如果您設置了它,它確實有效。 – 2016-12-29 16:22:44

3

包括'globaltoc.html'的缺點是它不會顯示您正在查看的頁面的全局和本地toc。

看來,其他人厭煩有關此限制,並導致延期的後續發展,以支持在側邊欄全TOC,結賬:https://pypi.python.org/pypi/sphinxcontrib-fulltoc

+0

這個很好用!但是我必須先'安裝 - 升級setuptools',否則安裝時會出現一個奇怪的錯誤:'AttributeError:'_NamespacePath'對象沒有屬性'sort'' – alexanderlukanin13

相關問題