【发布时间】:2015-11-10 18:48:44
【问题描述】:
我有一个包含:maxdepth: 2 的 TOC (index.rst) 的 Sphinx 项目。问题是我想将release 部分的深度减少到1,以便它不包括主目录中的发行说明列表(列表太长)。
似乎可以使用doctree-resolved事件处理程序修改TOC列表,但我不知道如何在事件处理程序中修改TOC树:
from sphinx import addnodes
def setup(app):
def update_toctree(app, doctree, docname):
if docname != 'index':
return
node = doctree.traverse(addnodes.toctree)[0]
toc = app.env.resolve_toctree(docname, app.builder, node)
# do something with "toc" here
app.connect('doctree-resolved', update_toctree)
【问题讨论】:
-
遇到与您相同的问题 - 我能够读取和修改 TOC 节点,但似乎无法持久化更改。
标签: python python-sphinx