Ich habe eine Sphinx project mit einer TOC (index.rst
), die :maxdepth: 2
enthält. Das Problem ist, ich möchte die Tiefe auf 1
für den release
Abschnitt reduzieren, so dass es nicht die Liste der Versionshinweise im Haupt-TOC enthält (die Liste ist zu lang).Ändern Sphinx TOC-Baum
Es scheint, dass die TOC-Liste eines doctree-resolved
Ereignishandler verwenden kann geändert werden, aber ich kann nicht herausfinden, wie der TOC-Baum im Ereignishandler zu ändern:
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)
Ran in das gleiche Problem wie Sie - ich bin in der Lage zu lesen und zu ändern TOC-Knoten, aber kann nicht scheinen, die Änderungen persistent zu sein. – geographika