使Sphinx检测到辅助配置/模板文件的更改

2024-05-06 01:59:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Sphinx(v1.4.9,在windows7上使用python3.5.1,64位)来编写启用MathJax的文档集。我想定义自定义的LaTeX命令来清理源代码,所以我通过添加_templates\layout.html实现了this approach

{% extends "!layout.html" %}
{% set script_files = script_files + ["_static/mjconf.js"] %}

以及在_static\mjconf.js中定义我的自定义命令:

^{pr2}$

这一切都很好。在

然而,每当我编辑mjconf.js以添加新命令或修改现有命令时,Sphinx无法识别配置已更改,因此简单的make html不会像编辑到conf.py后那样重建文档。我必须在make html之前make clean才能看到这些自定义MathJax命令更改的效果。在

如何通过重新构建整个文档集来配置Sphinx对已编辑的mjconf.js作出反应,就像它对已编辑的conf.py所做的那样?


Tags: 文档命令编辑make定义confhtmlsphinx
2条回答

为了启用诸如make html -E作为recommended by Steve Piercy的调用,我将make.bat改为:

set BUILDDIR=build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
set I18NSPHINXOPTS=%SPHINXOPTS% source
if NOT "%PAPER%" == "" (
    set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
    set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)

为此:

^{pr2}$

唯一的改变是将%2附加到初始化%ALLSPHINXOPTS%的行。

^{},但这不会反映文档中交叉引用的更新。不过,如果没有交叉引用更新,这将是最快的选择。在

还有一个^{},以防有交叉引用也必须更新。在

最后是make clean html,它删除(清理)构建目录(如果makefile有),然后再次构建HTML。在

相关问题 更多 >