如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig) [英] how to set a custom config value for sphinx in conf.py? (e.g., for sphinx.ext.ifconfig)

查看:20
本文介绍了如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

[经过进一步测试和研究,我将原问题一分为二]

我在conf.py中定义了自己的配置值,并编写了一个最小扩展名以使其在rst文件中可见。

配置文件:

sys.path.insert(0, os.path.abspath('.'))
extensions = ['sphinx.ext.ifconfig', 'myExt']
testlevel = 2

在本地myExt.py:

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*。有人能告诉我怎么做吗?

推荐答案

这里需要注意的两件事:

  1. 首先,conf.py文件只是一个python文件。它唯一的特别之处在于Sphinx专门寻找并导入它。您可以在此文件中执行在普通python文件中可以执行的任何操作。
  2. 第二,conf.py文件can itself be an extension。换句话说,它可以有一个setup函数,其工作方式应该与扩展中的函数相同。因此,如果您将扩展名(myExt.py)的内容复制到conf.py文件中,它应该只会工作(Tm)。

这篇关于如何在conf.py中设置sphinx的自定义配置值?(例如,对于sphinx.ext.ifconfig)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆