Автоматически создавать документацию Sphinx при изменении исходного файла
Я использую Sphinx для документирования одного из моих проектов, и мне нравится просматривать мои изменения в моем браузере. Я хочу сохранить некоторые изменения в файле .rst
и сразу обновить браузер и увидеть изменения.
По сути, я хочу автоматически выполнять make html
, когда изменяется один из файлов .rst
.
Ответы
Ответ 1
Вы можете использовать sphinx-autobuild.
Легко использовать, например:
sphinx-autobuild docs docs/_build/html
или, если у вас есть отдельный каталог сборки,
sphinx-autobuild source build/html
Он также автоматически инициирует обновление страницы в браузере.
Ответ 2
Якоб Каплан-Мосс имеет хорошее решение:
pip install watchdog
watchmedo shell-command \
--patterns="*.rst" \
--ignore-pattern='_build/*' \
--recursive \
--command='make html'
Обратите внимание, измените шаблон в соответствии с вашим суффиксом. Якоб использует *.txt, но мне нужно было изменить его на *.rst.
Ответ 3
Если вы используете систему * nix, вы можете использовать inotify для мониторинга событий файловой системы и запуска действий.
Например, на ubuntu,
apt-get install inotify-tools
Затем запустите script, чтобы прослушивать события в заданном каталоге
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 ++...)