[经过更多的测试和研究后,我将原来的问题分成两部分]
我在conf.py中定义了自己的配置值,并编写了一个最小扩展名,以便从第一个文件中看到它。
在conf.py中:
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.ifconfig', 'myExt']
testlevel = 2
在本地myExt.py中:
def setup(app):
app.add_config_value('testlevel', '', True)
这很好用; test.rst包括:
.. ifconfig:: testlevel == 2
Hurray, it seems to work
根据sphinx.ext.ifconfig的文档,似乎可以直接从 conf.py 调用* app.add_config_value *。谁能告诉我怎么做?
答案 0 :(得分:2)
这里有两点需要注意:
conf.py
文件只是一个python文件。关于它的唯一特别之处在于Sphinx专门寻找它并进口它。您可以在普通的python文件中执行此文件中的任何操作。conf.py
文件can itself be an extension。换句话说,它可以具有setup
函数,该函数应该与扩展中的函数相同。因此,如果您将扩展程序的内容(myExt.py
)复制到conf.py
文件中,则应该正常工作(tm)。