源文件更改时自动生成Sphinx文档

时间:2011-04-02 09:21:14

标签: python python-sphinx

我正在使用Sphinx来记录我的一个项目,我想在浏览器中预览我的更改。我希望能够保存对.rst文件的一些更改,并能够立即刷新我的浏览器并查看更改。

基本上我想在其中一个make html文件发生更改时自动执行.rst

4 个答案:

答案 0 :(得分:22)

您可以使用sphinx-autobuild

易于使用,例如:

sphinx-autobuild docs docs/_build/html

或者,如果你有一个单独的构建目录,

sphinx-autobuild source build/html

它还会自动在浏览器中启动页面刷新。

答案 1 :(得分:12)

Jacob Kaplan-Moss has a good solution

pip install watchdog
watchmedo shell-command \
          --patterns="*.rst" \
          --ignore-pattern='_build/*' \
          --recursive \
          --command='make html'

注意,更改模式以匹配您的后缀。 Jacob使用* .txt,但我需要将其更改为* .rst。

答案 2 :(得分:3)

如果您使用的是* nix系统,则可以使用inotify监视文件系统事件并触发操作。

例如,在ubuntu上,

apt-get install inotify-tools

然后运行这样的脚本来监听给定目录中的事件

while true
  do
    inotifywait -r -e modify -e move -e create -e delete /tmp/docs | while read line
      do
        echo "file changed; time to run make html"
      done
  done

答案 3 :(得分:0)

您可以在自己喜欢的编辑器中创建一个宏来保存文件并在浏览器中打开它,任何文本编辑器都可以这样做(geany,gedit,emacs,vi,notepad ++ ...)