如何在conf.py中为sphinx设置自定义配置值? (例如,对于sphinx.ext.ifconfig)

时间:2012-03-14 19:41:55

标签: python-sphinx

[经过更多的测试和研究后,我将原来的问题分成两部分]

我在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 *。谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:2)

这里有两点需要注意:

  1. 首先,conf.py文件只是一个python文件。关于它的唯一特别之处在于Sphinx专门寻找它并进口它。您可以在普通的python文件中执行此文件中的任何操作。
  2. 其次,conf.py文件can itself be an extension。换句话说,它可以具有setup函数,该函数应该与扩展中的函数相同。因此,如果您将扩展程序的内容(myExt.py)复制到conf.py文件中,则应该正常工作(tm)。