4
[私はより多くの試験研究の後に二つに元の質問を分割]conf.pyでsphinxのカスタム設定値を設定する方法は? (例えば、sphinx.ext.ifconfig用)
私はconf.pyに自分の設定値を定義してから、それが見えるように、最小限の拡張を書きました最初のファイル。 conf.pyで
:ローカルmyExt.pyで
sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.ifconfig', 'myExt']
testlevel = 2
:
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に入れようとしていたと思っていましたが、うまくいかなかったようです。 extensions = [...、 'conf']も宣言する必要がありますか? –
私はそうは思わない。少なくとも私はそれをやったことを思い出してはいません。そして、ドキュメンテーションは、conf.pyにセットアップ機能を置くだけで、そのトリックができることを示しているようです。 –
conf.pyはコンパイルされ、評価され、拡張リストで提供されているものと同様に__importされません。それは問題ではありません。しかし、conf.pyの定義は節約され、適切なモジュールではないので、
class mynode(nodes.Inline, nodes.Element):pass
のような定義はPicklingErrorにつながります:Can not pickle:それが見つかりません... –