【问题标题】:Automatically build Sphinx documentation when a source file changes源文件更改时自动构建 Sphinx 文档
【发布时间】:2014-01-28 03:15:26
【问题描述】:

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

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

【问题讨论】:

    标签: python python-sphinx


    【解决方案1】:

    您可以使用sphinx-autobuild

    使用方便,例如:

    sphinx-autobuild docs docs/_build/html
    

    或者,如果您有单独的构建目录,

    sphinx-autobuild source build/html
    

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

    【讨论】:

      【解决方案2】:

      雅各布·卡普兰-莫斯has a good solution:

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

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

      【讨论】:

      • 如果你使用 Firefox,你可以安装 Auto Reload 插件。
      • 这对我有用。我将命令 'make html' 更改为 'make html && xvkbd -window Firefox -text "\Cr"' 以自动重新加载。
      【解决方案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
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 不错的主意...但是我更喜欢更便携的东西。我真的希望能够运行make html --auto-rebuild
        • 好吧,你总是可以编写一个脚本来做到这一点
        猜你喜欢
        • 2011-07-16
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多