多级目录树';Python Sphinx中的s

多级目录树';Python Sphinx中的s,python,python-sphinx,sidebar,read-the-docs,toctree,Python,Python Sphinx,Sidebar,Read The Docs,Toctree,我试图以一种方式使用sphinx来记录多个“级别”的文档,例如: Api参考 手册 教程 等等 其思想是,目录显示在侧边栏上,与您所在的部分相对应。所以当你在主索引上时,它只显示上面提到的部分。当您进入例如“手册”时,它会显示特定于该部分的不同ToC,以及返回主ToC的方法 我一直在试图找出如何在Sphinx中实现这一点,而不必对其进行黑客攻击,但到目前为止还没有找到一种方法。文件夹结构已经反映了不同的部分(即所有“手动”文档都存储在_source/manual下),我尝试在每个目录中放置单

我试图以一种方式使用sphinx来记录多个“级别”的文档,例如:

  • Api参考
  • 手册
  • 教程
  • 等等
其思想是,目录显示在侧边栏上,与您所在的部分相对应。所以当你在主索引上时,它只显示上面提到的部分。当您进入例如“手册”时,它会显示特定于该部分的不同ToC,以及返回主ToC的方法

我一直在试图找出如何在Sphinx中实现这一点,而不必对其进行黑客攻击,但到目前为止还没有找到一种方法。文件夹结构已经反映了不同的部分(即所有“手动”文档都存储在_source/manual下),我尝试在每个目录中放置单独的索引文件,但目录树功能似乎只查看主索引文件

我使用的是“readthedocs”主题,我特别关注的代码是

谁能告诉我如何使用Sphinx添加这样的ToC

谢谢

看来子目录中文档中的根目录位于该子目录中(例如,请参见)。对于较高级别的TOC,
:maxdepth:
限制包含较低级别

通过制作相应的模板并将其添加到build参数,可以将其放置到侧栏中。更新:不工作;在侧边栏模板中,TOC的根始终位于顶部。

(此响应可能有点晚) 我有一个类似的情况,三个部分包含在同一个TOC树中:

  • 硬件
  • 软件
  • 教程
我试图实现同样的目标,那就是从我的侧边栏菜单中隐藏所有不属于当前目录树-l1的内容。知道Sphinx添加了我想到的CSS类“current”:

#sidebar li.toctree-l1:not(.current){
  display: none;
} 
这并不是最好的解决方案,但由于Sphinx只能处理文档的一个主根,并且从这个主根创建整个TOC树,如果您只需要侧边栏菜单,CSS应该适合您

我的菜单截图仅显示一个部分下面的内容: