【问题标题】:Multiple Levels of Toctree's in Python-SphinxPython-Sphinx 中的多级 Toctree
【发布时间】:2014-10-30 20:19:20
【问题描述】:

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

  • API 参考
  • 手册
  • 教程

这个想法是,相对于您所在的部分,目录显示在侧边栏上。因此,当您在主索引上时,它只显示上述部分。当你进入例如。 “手动”它显示特定于该部分的不同 ToC,以及返回主 ToC 的方法。

我一直试图弄清楚如何让它在 Sphinx 中正常工作而无需破解它,但到目前为止还不能完全找到方法。文件夹结构已经反映了不同的部分(即所有“手册”文档都存储在 _source/manual 下),我尝试在每个目录中放置单独的索引文件,但似乎 toctree 功能只查看主索引文件。

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

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

谢谢

【问题讨论】:

    标签: python python-sphinx sidebar read-the-docs toctree


    【解决方案1】:

    (这个回复可能有点晚了) 我有类似的情况,三个部分包含在同一个 TOC 树中:

    • 硬件
    • 软件
    • 教程

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

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

    这不是有史以来最好的解决方案,但是由于 Sphinx 只能处理文档的一个主根,并且从那个根开始,它会创建整个 TOC 树,如果您只需要它用于侧边栏菜单,那么 CSS 应该适合您.

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

    【讨论】:

      【解决方案2】:

      似乎子目录中文档中的.. toctree:: 植根于该子目录(参见例如https://docs.python.org/2/_sources/howto/index.txt)。对于上层 TOC,:maxdepth: 限制包含下层。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-06
        • 1970-01-01
        • 2015-03-14
        • 2022-01-17
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多