[PYTHON]

Schreiben eines Dokuments in Sphinx mit Python Livereload Wenn Sie ein Dokument in Sphinx schreiben, machen Sie HTML, um die Quelldatei (reST) in HTML zu konvertieren `Ich denke, Sie führen oft Befehle aus. Nach einer Weile des Schreibens erscheint es kompliziert, jedes Mal einen Befehl auszuführen, wenn ich die Quelldatei ändere und den Browser neu lade, um den HTML-Code zu überprüfen. Mit Python Live Reload (http://livereload.readthedocs.org/en/latest/) können Sie Dateiänderungen erkennen und Ihren Browser automatisch neu laden. Da das Einstellungsskript in Python geschrieben ist, besteht der Vorteil darin, dass Sie beim Schreiben eines Dokuments über Python nicht den Kopf wechseln müssen. Die Einstellungsmethode ist je nach Version unterschiedlich, und verschiedene APIs sind ebenfalls unterschiedlich. Seit Version 2.2.1 ist es fast möglich, es mit Python 3.x zu verwenden, daher werde ich die Einführungsmethode zusammenfassen. Umgebungseinstellung von direnv

Es ist einfach einzurichten, indem Sie * .envrc * und * require.txt * mit direnv vorbereiten.

$ direnv allow .
$ pip install -r requirements.txt

.envrc


# for Python 2.7
#PYVENV_DIR=$HOME/.pyvenv/sphinx-py27
#PYVENV="virtualenv --distribute"
# for Python 3.4
PYVENV_DIR=$HOME/.pyvenv/sphinx-py34
PYVENV=pyvenv-3.4

[ -d $PYVENV_DIR ] || $PYVENV $PYVENV_DIR
source $PYVENV_DIR/bin/activate

requirements.txt


Sphinx
livereload

Sie können jetzt auf die Sphinx- und Livereload-Pakete und -Befehle zugreifen, indem Sie in Ihrem Terminal zu diesem Verzeichnis navigieren.

Einstellungsdatei

Bereiten Sie als Nächstes * server.py * für Ihre WSGI-Anwendung vor. Es ist praktisch, das Ausführungsbit zu setzen, da die Anzahl der Typen beim Start gering ist.

server.py


#!/usr/bin/env python

from livereload import Server, shell

server = Server()
server.watch('**/*.rst', shell('make html'))
server.serve(open_url=False)

Führen Sie das Skript aus, um den Server zu starten. Wenn Sie dem Argument open_url True geben, wird die Seite in Ihrem Standardbrowser geöffnet, wenn der Server gestartet wird.

$ ./server.py

Wenn Sie danach die reST-Quelldatei des Dokuments normal bearbeiten, wird "make html" ausgeführt, wenn die Datei gespeichert und der Browser aktualisiert wird. Wenn Sie eine andere Verarbeitung einfügen möchten, können Sie diese in Python schreiben, sodass Sie die meisten Dinge erledigen können.

abschließend

Python LiveReload macht das Schreiben von Dokumentation in Sphinx zum Kinderspiel. Sie können dasselbe mit Watchdog tun, aber LiveReload lädt sogar Ihren Browser neu. Ich bin glücklich.

Sowohl Python 2.x als auch Python 3.x werden unterstützt, und die Implementierung wird möglicherweise subtil oder gar nicht unterstützt. Wenn Sie sie jedoch jedes Mal manuell erstellen, wenn Sie die Quelldatei bearbeiten, Die Einführung lohnt sich.

Es kann auch als universeller LiveReload-Server verwendet werden. Sie können den Befehl Livereload verwenden, um zu liefern, indem Sie ein Verzeichnis angeben. Ich denke, es ist auch praktisch, um ein wenig HTML zu bearbeiten.

Recommended Posts