我正在使用Sphinx来记录我的一个项目,我想在浏览器中预览我的更改。我希望能够保存对.rst
文件的一些更改,并能够立即刷新我的浏览器并查看更改。
基本上我想在其中一个make html
文件发生更改时自动执行.rst
。
答案 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 ++ ...)