2011-04-02 13 views
13

Projelerimden birini belgelemek için Sphinx kullanıyorum ve tarayıcımda yaptığım değişiklikleri önizlemek istiyorum. Bazı değişiklikleri bir .rst dosyasına kaydedebilmek ve tarayıcımı hemen yenileyip değişiklikleri görebilmek istiyorum.Bir kaynak dosya değiştiğinde Sphinx belgelerini otomatik olarak oluştur

Esasen, .rst dosyalarından biri değiştirildiğinde, otomatik olarak bir make html yürütmek istiyorum.

Size dosyayı kaydeder ve tarayıcıda açılır favori editörü makro oluşturabilirsiniz

cevap

0

, herhangi bir metin editörü yapabilirsiniz (geany gedit, emacs, vi, not defteri ++ ...)

+1

Kötü bir fikir değil ... ama daha taşınabilir bir şey tercih ederim. Ben gerçekten sadece 'html --auto-rebuild ' –

+0

yapabilmek için çalışabilmek istiyorum. – P2bM

3

Eğer' Bir * nix sisteminde yeniden, dosya sistemi olaylarını izlemek ve eylemleri tetiklemek için inotify kullanabilirsiniz. ubuntu üzerinde Örneğin

,

apt-get install inotify-tools 

Sonra dir

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 
8

Jacob Kaplan-Moss has a good solution verilen olaylar dinlemek için böyle bir komut dosyasını çalıştırın:

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

Notu, ekinizle eşleşecek şekilde değiştirin. Jacob, * .txt kullanır, ancak onu * .rst olarak değiştirmem gerekiyordu.

+0

Bunu yapan bir betik yazabilirsiniz. Eğer Firefox kullanıyorsanız, Otomatik Yeniden Yükleme eklentisini yükleyebilirsiniz. – swietyy

+0

Bu benim için çalıştı. Otomatik yeniden yükleme yapmak için 'html' komutunu 'html && xvkbd -window Firefox -text' \ Cr '' haline getirin. –

17

sphinx-autobuild'u kullanabilirsiniz. Eğer ayrı yapı dir varsa o da otomatik olarak tarayıcıda bir sayfa yenileme işlemi başlatarak

sphinx-autobuild source build/html 

,

sphinx-autobuild docs docs/_build/html 

ya:

örneğin, kullanımı kolaydır.

İlgili konular