pythonspinx中的多级Toctree's

2024-05-14 23:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用sphinx来记录多个“级别”的文档,例如:

  • Api参考
  • 手册
  • 教程
  • 等等

其想法是目录显示在侧边栏上,相对于您所在的部分。所以当你在主索引上时,它只显示上面提到的部分。当你进入例如“Manual”时,它显示了一个不同的目录特定于该部分,以及一种返回到主目录的方法。在

我一直在努力想办法让这个在斯芬克斯中运行而不被破解,但到目前为止还没找到一个办法。文件夹结构已经反映了不同的部分(即所有的“手动”文档都存储在_source/manual下),我尝试在每个目录中放置单独的索引文件,但是toctree功能似乎只查看主索引文件。在

我使用的是“readthedocs”主题,我具体看到的代码是https://github.com/snide/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/layout.html#L93

有人能告诉我如何使用狮身人面像这样添加一个目录吗?在

谢谢你


Tags: 文件方法文档目录apisphinx记录教程
2条回答

(这个回答可能晚了一点) 我也有类似的情况,同一目录树包含三个部分:

  • 硬件
  • 软件
  • 教程

我试图实现同样的目标,那就是在侧栏菜单中隐藏不属于当前toctree-l1的所有内容。知道Sphinx添加了CSS类“current”,我想出了:

#sidebar li.toctree-l1:not(.current){
  display: none;
} 

这并不是最好的解决方案,但由于Sphinx只能处理文档的一个主根,并且从该根创建了整个TOC树,如果您只在侧栏菜单中需要它,CSS应该适合您。在

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

似乎子目录中文档中的^{}是以该子目录为根的(参见例如https://docs.python.org/2/_sources/howto/index.txt)。对于上层TOC,:maxdepth:限制了低层的包含。在

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

相关问题 更多 >

    热门问题