ファイル名の降順でtoctreeを注文するオプションはありますか? は、昇順の場合は、我々は使用することができます。グロブ:このようなオプションは:Sphinxのドキュメントでは、「glob」フラグオプションによって提供されるtoctreeの順序を元に戻すにはどうすればよいですか?
.. toctree:
:glob:
2011*
これはSphinxのドキュメント内で報告されるべきである再編テキストで書かれた日常のメモに便利だろう。
ファイル名の降順でtoctreeを注文するオプションはありますか? は、昇順の場合は、我々は使用することができます。グロブ:このようなオプションは:Sphinxのドキュメントでは、「glob」フラグオプションによって提供されるtoctreeの順序を元に戻すにはどうすればよいですか?
.. toctree:
:glob:
2011*
これはSphinxのドキュメント内で報告されるべきである再編テキストで書かれた日常のメモに便利だろう。
toctreeを逆ソートする単純なオプションはありません。しかし、ファイルに書き込まれる前に文書の構造を変更することでそれを行うことができます。ここに提案があります。 conf.pyに次のコードを追加しますdoctree-resolved
イベントが発生したときに
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)
reverse_toctree()
コールバック関数が呼び出されます。この関数は、文書ツリー内のtoctree
ノードを探し、インプレースで変更します。スフィンクスとDocutilsのAPIに関する
詳細:
これは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*
これはサイドバーのtoctreeも元に戻します。 – brandones
1.5+あなたはtoctreeに追加できるビルトイン:reversed:
フラグがあります:
.. toctree::
:glob:
:reversed:
2011*
は、詳細については、 the Sphinx documentationを参照してください。
この機能はSphinx 1.5(1.5a2):http://www.sphinx-doc.org/en/stable/changes.html#id30で追加されました。 – mzjn
ニース。しかし、これはすべてのtoctreeを逆にしませんか?おそらく ':reversed: 'パラメータのチェックをtoctreeノードに追加して、この振る舞いを制御することはできますか? –
@Kevin Horn:glob:オプションが使用されている場合、コードは "索引"(ルート)文書のtoctreeを元に戻します。 OPは詳細な要件を指定していないため、私はこの答えを謙虚な提案以上にするつもりはありませんでした。私はそれを微調整する方法がたくさんあると確信しています。コメントとupvoteをありがとう! – mzjn
しかしこれは、サイドバーのToCを元に戻しません。 – Adobe