【发布时间】:2014-01-28 03:15:26
【问题描述】:
我正在使用Sphinx 来记录我的一个项目,并且我喜欢在浏览器中预览我的更改。我希望能够将一些更改保存到 .rst 文件,并能够立即刷新我的浏览器并查看更改。
基本上我想在.rst 文件之一发生更改时自动执行make html。
【问题讨论】:
标签: python python-sphinx
我正在使用Sphinx 来记录我的一个项目,并且我喜欢在浏览器中预览我的更改。我希望能够将一些更改保存到 .rst 文件,并能够立即刷新我的浏览器并查看更改。
基本上我想在.rst 文件之一发生更改时自动执行make html。
【问题讨论】:
标签: python python-sphinx
您可以使用sphinx-autobuild。
使用方便,例如:
sphinx-autobuild docs docs/_build/html
或者,如果您有单独的构建目录,
sphinx-autobuild source build/html
它还会在浏览器中自动启动页面刷新。
【讨论】:
雅各布·卡普兰-莫斯has a good solution:
pip install watchdog
watchmedo shell-command \
--patterns="*.rst" \
--ignore-pattern='_build/*' \
--recursive \
--command='make html'
注意,更改模式以匹配您的后缀。 Jacob 使用 *.txt,但我需要将其更改为 *.rst。
【讨论】:
如果您在 *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
【讨论】:
您可以在自己喜欢的编辑器中创建一个宏来保存文件并在浏览器中打开它,任何文本编辑器都可以(geany、gedit、emacs、vi、notepad++...)
【讨论】:
make html --auto-rebuild