3
from docutils.parsers.rst.directives.images import Figure
class MyFigure(Figure):
    def run(self):
        # here I need to read the 'thumbnails_folder' setting
        pass

def setup(app):
    app.add_config_value('thumbnails_folder', '_thumbnails', 'env')

の構成値にアクセスするにはどうすればよい.run()ですか?Sphinx-contribのソースを読みましたが、自分のやり方で物事が行われているのが見えなかったので、彼らconf.pyは私ができない方法でアクセスしました。それとも別の方法でそれを行う必要がありますか?

私がしたいのはこれを翻訳することだけです

.. figure:: image/image.jpg

これに:

.. image:: image/thumbnails/image.jpg
   :target: image/image.jpg

これが拡張コードです

(サムネイルはPILで生成されます)。また、:target:をダウンロード可能なファイルに入れます(私が見るように、これを実行できるのはビルダーインスタンスのみです)。

4

1 に答える 1

5

ビルド環境は、Configオブジェクトへの参照を保持します。構成変数は、このオブジェクトから取得できます。

def run(self):
    env = self.state.document.settings.env  # sphinx.environment.BuildEnvironment 
    config = env.config                     # sphinx.config.Config
    folder = config["thumbnails_folder"] 
    ...
于 2013-02-20T18:06:47.013 に答える