有没有人知道按文件名降序排列toctree的选项?如果是升序,我们可以使用:glob:选项,如下所示:
.. toctree:
:glob:
2011*对于应该在Sphinx文档中报告的重构文本编写的每日笔记,这将非常方便。
发布于 2011-12-11 01:38:05
没有对toctree进行反向排序的简单选项。但是,您可以通过在将文档写入文件之前修改文档结构来实现。这里有一个建议。将以下代码添加到conf.py
def reverse_toctree(app, doctree, docname):
"""Reverse the order of entries in the root toctree if 'glob' is used."""
if docname == "index":
for node in doctree.traverse():
if node.tagname == "toctree" and node.get("glob"):
node["entries"].reverse()
break
def setup(app):
app.connect("doctree-resolved", reverse_toctree)当触发doctree-resolved事件时,将调用reverse_toctree()回调函数。该函数在文档树中定位toctree节点并就地更改它。
有关Sphinx和Docutils API的更多详细信息:
发布于 2012-04-08 04:34:04
这将向toctree添加一个相反的选项。
from sphinx.directives import TocTree
from docutils.parsers.rst import directives
class NewTocTree(TocTree):
option_spec = dict(TocTree.option_spec,
reversed=directives.flag)
def run(self):
rst = super(NewTocTree, self).run()
if 'reversed' in self.options:
rst[0][0]['entries'].reverse()
return rst
def setup(app):
app.add_directive('toctree', NewTocTree)这样你就可以做到:
Contents:
.. toctree::
:maxdepth: 2
:reversed:
:glob:
20*发布于 2018-01-31 02:10:08
在Sphinx 1.5+中,有一个内置的toctree标志,您可以将其添加到:reversed:中:
.. toctree::
:glob:
:reversed:
2011*有关详细信息,请参阅the Sphinx documentation。
https://stackoverflow.com/questions/8324959
复制相似问题