如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig) [英] how to set a custom config value for sphinx in conf.py? (e.g., for sphinx.ext.ifconfig)
本文介绍了如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
[经过进一步测试和研究,我将原问题一分为二]
我在conf.py中定义了自己的配置值,并编写了一个最小扩展名以使其在rst文件中可见。
配置文件:
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*。有人能告诉我怎么做吗?
推荐答案
这里需要注意的两件事:
- 首先,
conf.py
文件只是一个python文件。它唯一的特别之处在于Sphinx专门寻找并导入它。您可以在此文件中执行在普通python文件中可以执行的任何操作。 - 第二,
conf.py
文件can itself be an extension。换句话说,它可以有一个setup
函数,其工作方式应该与扩展中的函数相同。因此,如果您将扩展名(myExt.py
)的内容复制到conf.py
文件中,它应该只会工作(Tm)。
这篇关于如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文