使用javascript代替Sphinx的默认toctree。

问题描述 投票:2回答:1

我正在使用sphinx来自动生成html页面。目录真的很长,所以我试图在目录中添加一个新的html类(除其他外)。椿树的div,所以我可以使用javascript库。基本上是想改变toctree生成HTML的方式。

我发现 globaltoc.html 文件,把它放在 _templates 文件夹,并取消了对 模板路径conf.py.

这是在 _templates 目录。

{% extends '!globaltoc.html' %}

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

{{ toctree() }}
</div>

如果我做的完全错误,请告诉我另一种方法。我希望能够在纯reST中做到这一点,但似乎不可能。我看了Sphinx模板上有限的例子,我只能找到这些。

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

谢谢你的帮助。

javascript python-sphinx restructuredtext tableofcontents toctree
1个回答
3
投票

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

  1. 使用Jinja模板来编写javascript和bulleted list。目前,我不熟悉使用递归的Jinja标志。所以这个解决方案虽然可能,但可能会比第二个解决方案给我带来更多的挫折感。

  2. 简单的减少 :maxdepth: 的属性。椿树 指令。它被设置为4。减少这个数字可以使目录更小,从而更容易阅读。

在考虑了 需要 我意识到这太傻了,而且降低了目录的实用性。所以我只是减少了 :maxdepth: 然后一切又回到了reST和Sphinx所提供的简单性。

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

© www.soinside.com 2019 - 2024. All rights reserved.