特定のタグが設定されている場合にのみ、自分のファイルの 1 つを Sphinx TOC に含めたいのですが、明らかな方法は失敗します。
.. toctree::
:maxdepth: 5
index
core
utils
oec
plotting
install
news
glossary
.. only:: private_version
todo
これを達成する簡単な方法はありますか?
特定のタグが設定されている場合にのみ、自分のファイルの 1 つを Sphinx TOC に含めたいのですが、明らかな方法は失敗します。
.. toctree::
:maxdepth: 5
index
core
utils
oec
plotting
install
news
glossary
.. only:: private_version
todo
これを達成する簡単な方法はありますか?
以前は、同じソース ファイルから 2 つのドキュメント (パブリックとプライベート) をコンパイルできるようにする必要がありました。
成功するには、独自のプラグインを作成する必要がありました (ここで見つけることができます)。
プライベートドキュメントのみにファイルがある場合、ファイルの先頭に次のディレクティブを追加するだけです (必須)
.. meta::
:scope: private_version
public-sample.rst (特に何もない)
Title
=====
A public content
プライベートサンプル.rst
.. meta::
:scope: private_version
Title
=====
A private content
index.rst
.. toctree::
:maxdepth: 3
public-sample.rst
private-sample.rst
ご覧のとおりtoctree
、両方の参照がありますが、タグを使用してビルドしていない場合、プラグインはコンパイル中にprivate-sample.rstを削除しますprivate
だから使って
sphinx-build ... -t private_version ...
toctree
次のように生成されます。
しかし、あなたがで構築する場合
sphinx-build ... -t other ...
また
sphinx-build ...
のtoctree
ようになります
私のプラグインは 100% 完璧ではありませんが、簡単に理解できる小さなコードにすぎないので、好きなように編集できます :)
制限を知る:
制限:
meta
ディレクティブ docutils.sourceforge.net/docs/ref/rst/directives.html#metaの元の使用法を逸脱します