sphinx.ext.ifconfig – 基于配置包含内容

这个扩展非常简单,只包含一个指令:

警告

此指令旨在仅控制文档的内容.它无法控制章节、标签等.

.. ifconfig::

仅当作为参数给出的 Python 表达式为 True 时,才包含指令的内容,该表达式在项目的配置命名空间中进行评估(即,所有来自 conf.py 的注册变量都是可用的).

例如,可以写道

.. 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')

第二个参数是默认值,第三个参数应始终为 'env' (它会选择Sphinx在值更改时是否重新读取文档).