作为构建命令的一部分,更改sphinx conf.py中的变量
问题描述
我有一个带有conf.py
的Sphinx项目,其中我使用一个变量来指定我的产品名称,如下所示:
device_name = "ProductName"
rst_epilog = f".. |device_name| replace:: {device_name}"
我希望能够在构建过程中将ProductName的值作为.bat
文件的一部分进行修改,因为我正在构建同一项目两次,分别针对我的两个产品:
sphinx-build -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
sphinx-build -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E
有没有办法直接在Build命令中修改conf.py
变量device_name
?
解决方案
我最终使用环境变量解决了此问题。
conf.py
# get environment variables (set as part of make .bat files)
env_device_name = os.getenv("DEVICENAME")
# set device name
if env_device_name != None:
device_name = env_device_name
else:
device_name = "CANedge2" # default device name
make.bat
SET DEVICENAME=Product2
sphinx-build -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
SET DEVICENAME=Product1
sphinx-build -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E
相关文章