[I split the original question into two after more testing and research]
I defined my own configuration value in conf.py and wrote a minimal extension to make it visible from rst files.
in conf.py:
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.ifconfig', 'myExt']
testlevel = 2
in a local myExt.py:
def setup(app):
app.add_config_value('testlevel', '', True)
This works just fine; test.rst includes:
.. ifconfig:: testlevel == 2
Hurray, it seems to work
According to the doc of sphinx.ext.ifconfig, it seems possible to call *app.add_config_value* directly from conf.py. Can anyone tell me how to do this?
Two things to note here:
conf.pyfile is just a python file. The only thing special about it is that Sphinx specifically looks for it and imports it. You can do anything in this file you could do in a normal python file.conf.pyfile can itself be an extension. In other words, it can have asetupfunction that should work the same way as one in an extension. So if you copy the contents of your extension (myExt.py) into theconf.pyfile, it should Just Work ™.