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 update_toctree(app, doctree, docname):
if docname != 'index':
node = doctree.traverse(addnodes.toctree)
toc = app.env.resolve_toctree(docname, app.builder, node)
# do something with "toc" here