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

问题描述 投票:0回答:2

我正在使用 Sphinx(v1.4.9,Windows 7 64 位上的 Python 3.5.1)编写启用了 MathJax 的文档集。 我想定义自定义 LaTeX 命令来清理我的源代码,因此我通过添加 _templates\layout.html:

 来实现
此方法

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

并在

_static\mjconf.js
:

中定义我的自定义命令
MathJax.Hub.Config({
  TeX: {
    Macros: {
      dsetarr: ['{\\small \\textsf{#1 Array } \\mathsf{(#2)} }', 2],
      dsettype: ['{\\small \\textsf{#1}}', 1],
      mtt: ['{\\texttt{#1}}' ,1],
      sgn: ['{\\mathrm{sgn}#1}', 1]
    }
  }
});

这一切都很好。

但是,每当我编辑

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

如何配置 Sphinx 通过重建整个文档集来对已编辑的

mjconf.js
做出反应,就像对已编辑的
conf.py
所做的那样?

python configuration python-sphinx
2个回答
2
投票

make html -a
,但这不会反映文档中交叉引用的更新。不过,如果您没有交叉引用更新,这将是最快的选择。

还有

make html -E
,以防您有必须更新的交叉引用。

最后还有

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


0
投票

为了启用 Steve Piercy

推荐的 
make html -E 等调用,我将我的 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% )

对此:

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

唯一的变化是将 %2

 附加到初始化 
%ALLSPHINXOPTS%
 的行。

© www.soinside.com 2019 - 2024. All rights reserved.