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')

如何访问 config 中的配置值.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 回答