You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sphinx文档目录配置问题:子项归属与Read the Docs侧边菜单异常

解决Sphinx文档结构与侧边菜单生成问题

问题分析

你遇到的两个核心问题:

  • tab缩进被Sphinx误识别为文件名前缀,导致路径错误
  • 子项文档未被正确关联到母项的toctree,引发未包含警告
  • 侧边菜单层级异常,无法独立存放子项文档

具体解决方案

1. 修正toctree的缩进与路径错误

Sphinx的toctree列表项必须用空格缩进,绝对不能用tab,否则会被当成文件名的一部分。同时要确保文档路径和实际目录结构完全匹配:
你的实际子项路径是Directory_Item_2/Subitem_2.1.rst,不是Item_2/Subitem 2.1,路径和文件名的下划线/空格要严格对应。

2. 让子项归属母项的正确方式

不要在index.rst的主toctree里直接缩进子项,应该在母项文档中单独添加子项的toctree,这样侧边栏会自动生成层级菜单:

修改index.rst的主toctree

简化主菜单配置,只保留一级母项:

.. toctree::
   :maxdepth: 3

   Item_1
   Item_2
   Item_3

在Item_2.rst中添加子项toctree

打开Item_2.rst,在内容合适位置添加以下配置:

Item 2
======

这里是Item 2的正文内容...

.. toctree::
   :maxdepth: 1
   :hidden:  # 可选,加了之后Item_2页面不会显示子项列表,仅侧边栏显示层级

   Directory_Item_2/Subitem_2.1

3. 清理缓存重新构建

执行以下命令彻底清理旧构建文件,避免缓存干扰:

make clean && make html

效果验证

修改完成后:

  • 不会再出现“tab被识别为文件名”的错误
  • 子项文档被正确关联到母项的toctree,消除未包含警告
  • Read the Docs主题的左侧菜单会自动将Subitem_2.1作为Item 2的子菜单展开,层级结构符合预期

内容的提问来源于stack exchange,提问作者Rockguitar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 02:25:04