I have a Sphinx project with a TOC (index.rst
) that includes :maxdepth: 2
. The problem is I want to reduce the depth to 1
for the release
section so that it doesn't include the list of release notes in the main TOC (the list is too long).
It seems that the TOC list can be modified using a doctree-resolved
event handler, but I can't figure out how to modify the TOC tree in the event handler:
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)