javascript - 使用 javascript 代替 Sphinx 的默认目录树

标签 javascript python-sphinx restructuredtext tableofcontents toctree

我正在使用 sphinx 自动生成 html 页面。目录真的很长,所以我尝试向 toctree 的 div 添加一个新的 html 类(除其他外),以​​便我可以使用 JavaScript 库。基本上想要改变 toctree 生成 HTML 的方式。

我找到了 globaltoc.html 文件,将其放入 _templates 文件夹中,并取消注释 conf.d 中的 template_path。 py

这是 _templates 目录中的文件。

{% extends '!globaltoc.html' %}

<div class="toctree-wrapper compound dhtmlxTree" id="toc", setImagePath="_static/imgs/csh_dhx_skyblue/">

{{ toctree() }}
</div>

如果我这样做完全错误,请告诉我另一种方法。我希望能够在纯粹的休息中做到这一点,但这似乎不可能。我查看了有关 Sphinx 模板的有限示例,这就是我能找到的全部内容。

总体目标是使用dhtmlxTree用于非常大的树。我已将所需的 .js 文件和 .css 文件添加到 layout.html 中。我只需要包含 toctreediv 来获得我需要的类。我可以通过手动编辑来获得我需要的结果,现在我需要自动化它。

感谢您的帮助。

最佳答案

我相信我的问题有两种可能的解决方案:

  1. 使用 Jinja 模板编写 javascript 和项目符号列表。目前,我不熟悉使用递归 Jinja 标志。因此,这个解决方案虽然可能,但可能比第二个解决方案让我更加沮丧。

  2. 只需减少 toctree 指令的 :maxdepth: 属性即可。它被设置为 4。减少这个数字会使目录更小,因此更容易阅读。

在考虑了查看所有图层的需要后,我意识到这很愚蠢,而且降低了目录的实用性。所以我只是将 :maxdepth: 减少到 2,一切又回到了 reST 和 Sphinx 提供的简单性。

更好的设计每次都胜过炫酷因素。

关于javascript - 使用 javascript 代替 Sphinx 的默认目录树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002644/

相关文章:

javascript - 帮助使用 JavaScript 正则表达式

javascript - 从长字符串中提取javascript中以 "(/"开头并以 "/)"结尾的特定字符串

javascript - 使用 javascript 访问表数据

python - 如何使用 Sphinx autodoc 记录单个私有(private)属性?

python - 我的笔记的 Sphinx 源位置 - 警告 : document isn't included in any toctree

restructuredtext - 如何通过 RestructedText 以粗体显示一些包含星号 (*) 的文本?

bitbucket - 在 Bitbucket wiki 页面中调整图像大小

javascript - 如何检测一周中的某一天,然后用它来改变风格

rest - 带有Sphinx的RESTful Web服务API文档

restructuredtext - 标题中的重组文本(狮身人面像)图像?