4
[我拆了原來的問題分成兩個更多的測試和研究後]如何在conf.py中設置sphinx的自定義配置值? (例如,用於sphinx.ext.ifconfig)
我定義的conf.py我自己的配置值,並寫了一個最小的擴展,使其從可見第一個文件。
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.ifconfig', 'myExt']
testlevel = 2
在本地myExt.py:
在conf.pydef 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,但這似乎不起作用。我是否還必須聲明擴展= [...,'conf']? – 2012-03-26 07:53:29
我不這麼認爲。至少我不記得曾經這樣做過,而且這些文檔似乎表明,只需在conf.py中放置一個設置函數就可以了。 – 2012-03-30 23:29:25
編譯和評估conf.py,而不是像擴展名列表中提供的那樣編譯和處理__import __'。那沒問題。但conf.py定義被醃漬,並且因爲它不是一個合適的模塊,像
class mynode(nodes.Inline, nodes.Element):pass
這樣的定義會導致PicklingError:不能pickle:它不會被找到...... – 2013-10-25 22:28:09