sphinx.ext.ifconfig – 設定に基づいてコンテンツを含める

この拡張機能は非常にシンプルで、1つのディレクティブのみを備えています。

警告

このディレクティブは、ドキュメントのコンテンツのみを制御するように設計されています。セクション、ラベルなどは制御できません。

.. ifconfig::

引数として与えられたPython式が、プロジェクトの設定のネームスペース(つまり、conf.py から登録されたすべての変数が利用可能)で評価された結果が True の場合にのみ、ディレクティブのコンテンツを含めます。

例えば、次のように書くことができます。

.. ifconfig:: releaselevel in ('alpha', 'beta', 'rc')

   This stuff is only included in the built docs for unstable versions.

カスタム設定値をSphinxに認識させるには、conf.py のセットアップ関数で add_config_value() を使用します。例:

def setup(app):
    app.add_config_value('releaselevel', '', 'env')

2番目の引数はデフォルト値で、3番目の引数は常に 'env' である必要があります(値が変更された場合にSphinxがドキュメントを再読み込みするかどうかを選択します)。