在Read The Docs侧边栏中显示完整的toctree

15

据我所了解,新的Read the Docs主题从toctree生成侧边栏,默认显示2级目录。我的文档比较深入,2级目录不够有用。怎么能增加这个限制,或者最好是完全删除它?

如果不太可能实现,如何使用本地ToC代替全局toctree?

2个回答

23
注意:之前的答案已经过时。正如@Ariel在评论中指出的那样,现在可以通过在html_theme_options中设置navigation_depth来配置maxdepth。根据README的说明,在项目的conf.py文件中进行更改:
html_theme_options = {
    'navigation_depth': 4,
}

看起来,从Github上的主题源代码来看,目录深度在sphinx_rtd_theme/layout.html的第93行上是硬编码的。因此,您无法通过对主题进行配置来覆盖它。

由于这行代码是硬编码的,您将始终获得toctree返回的全局目录树,而不是以下行“支持”的本地目录树。

你当然可以 fork 这个主题并更改该行以满足本地需求(在 RTD 上也可以使用自定义主题),我尝试使用演示主题进行了操作。使用 maxdepth=3,看起来像这样,因此可能需要一些额外的 CSS。toctree 模板函数的文档 指定了,要想实现无限深度,只需传递 maxdepth=-1 即可。请注意,这不会为 TOC 的子级添加展开/折叠功能。这可能是一个提交请求的好目标吗?

Demo theme with tocdepth=3


这不是一个有超过2个级别的侧边栏吗?http://read-the-docs.readthedocs.org/en/latest/getting_started.html 我该如何模仿这种行为?它只在我选择带有子项的项目时显示多个级别,但对我来说已经足够了。 - Ariel
1
好的,我之前使用的是0.1.6版本,显然在0.1.8版本中添加了对深度3和4的支持:https://github.com/snide/sphinx_rtd_theme#v0-1-8 - Ariel
这个在 RTD 的在线版本上能用吗?对我来说似乎只能在本地使用,请参见 Github 上的相应问题。 - Michael Goerz
1
对于深度大于4的情况,侧边栏似乎会出现问题。例如,主题将无法相对于父主题正确缩进。 - AmiguelS

0

在ReadTheDocs中,没有办法自定义此行为。但是,您仍然可以阅读页面中的附加详细信息 - 它们只是不会显示在导航中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接