Sphinx如何配置保持不同页面侧边栏菜单内容一致
问题原因
sphinx_rtd_theme默认侧边栏为上下文相关导航模式,进入子页面后仅渲染当前页面所属层级的导航内容,不会展示全局导航树,因此打开单篇文章页时就看不到完整的Python文章列表。
修复步骤
步骤1:调整根目录toctree的层级深度
修改index.rst中的toctree配置,将maxdepth从1改为2以上,让全局导航能渲染到python目录下的单篇文章层级:
.. toctree:: :maxdepth: 2 :caption: Administración de sistemas devel/python/python
步骤2:修改RTD主题配置,禁用上下文折叠导航
在conf.py中添加html_theme_options配置,强制侧边栏始终展示完整的全局导航树:
html_theme = 'sphinx_rtd_theme' html_theme_options = { # 导航最大深度,适配你的目录层级 'navigation_depth': 3, # 禁用导航折叠,始终展开所有导航项 'collapse_navigation': False, # 侧边栏随页面滚动固定,方便随时查看导航 'sticky_navigation': True, # 包含所有隐藏的导航项 'includehidden': True, # 不要仅展示当前页面的标题导航 'titles_only': False }
步骤3(可选,如上述配置不生效时添加)
在conf.py中添加侧边栏模板配置,强制所有页面加载全局目录树侧边栏:
html_sidebars = { '**': [ 'globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html', ] }
步骤4:重新构建站点
清理之前的构建缓存后重新执行构建命令即可:
rm -rf build sphinx-build -b html source build
内容的提问来源于stack exchange,提问作者sincorchetes
相关产品推荐
相关产品推荐

