Автоматически создавать документацию Sphinx при изменении исходного файла - PullRequest
15 голосов
/ 02 апреля 2011

Я использую Sphinx для документирования одного из моих проектов, и мне нравится просматривать мои изменения в моем браузере. Я хочу сохранить некоторые изменения в файле .rst и сразу же обновить мой браузер и просмотреть изменения.

По сути, я хочу автоматически выполнять make html всякий раз, когда изменяется один из .rst файлов.

Ответы [ 4 ]

22 голосов
/ 27 января 2014

Вы можете использовать sphinx-autobuild .

Прост в использовании, например:

sphinx-autobuild docs docs/_build/html

или, если у вас есть отдельный каталог сборки,

sphinx-autobuild source build/html

Он также автоматически инициирует обновление страницы в браузере.

12 голосов
/ 10 декабря 2013

Джейкоб Каплан-Мосс имеет хорошее решение :

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

Обратите внимание, измените шаблон в соответствии с вашим суффиксом.Джейкоб использует * .txt, но мне нужно было изменить его на * .rst.

3 голосов
/ 02 мая 2012

Если вы работаете в системе * 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
0 голосов
/ 02 апреля 2011

Вы можете создать макрос в своем любимом редакторе, который сохранит файл и откроет его в браузере, что может сделать любой текстовый редактор (geany, gedit, emacs, vi, notepad ++ ...)

...