Lors de l'écriture d'un document avec Sphinx, je pense que j'exécute souvent la commande make html
pour convertir le fichier source (reST) en HTML. Je vais. Après avoir écrit pendant un moment, l'opération consistant à exécuter une commande à chaque fois que je change le fichier source et à recharger le navigateur pour vérifier le HTML ... me semble compliquée.
Python Live Reload (http://livereload.readthedocs.org/en/latest/) vous permet de détecter les modifications de fichiers et de recharger automatiquement votre navigateur. Le script de configuration est écrit en Python, donc si vous écrivez de la documentation sur Python, l'avantage est que vous n'avez pas à changer de tête.
La méthode de paramétrage est différente selon la version et les différentes API sont également différentes. Depuis la version 2.2.1, il est presque possible de l'utiliser avec Python 3.x, je vais donc résumer la méthode d'introduction.
Il est facile à configurer en préparant * .envrc * et * requirements.txt * en utilisant direnv.
$ 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
Vous pouvez maintenant accéder aux packages et commandes Sphinx et livereload en naviguant vers ce répertoire dans votre terminal.
Ensuite, préparez * server.py * pour votre application WSGI. Il est pratique de définir le bit d'exécution car le nombre de types au démarrage est faible.
server.py
#!/usr/bin/env python
from livereload import Server, shell
server = Server()
server.watch('**/*.rst', shell('make html'))
server.serve(open_url=False)
Exécutez le script pour démarrer le serveur. ʻSi vous donnez True à l'argument open_url`, la page s'ouvrira dans votre navigateur par défaut au démarrage du serveur.
$ ./server.py
Après cela, si vous éditez normalement le fichier source reST du document, make html
sera exécuté lorsque le fichier sera enregistré et le navigateur sera mis à jour. Si vous souhaitez insérer un autre traitement, vous pouvez l'écrire en Python afin de pouvoir gérer la plupart des choses.
Python LiveReload facilite l'écriture de la documentation dans Sphinx. Vous pouvez faire la même chose avec Watchdog, mais LiveReload recharge même votre navigateur. Je suis heureux.
Python 2.x et Python 3.x sont tous deux pris en charge, et l'implémentation peut être subtile ou non prise en charge en premier lieu, mais si vous la construisez manuellement chaque fois que vous modifiez le fichier source, Cela vaut la peine d'être présenté.
Il peut également être utilisé comme serveur LiveReload à usage général. Vous pouvez utiliser la commande livereload
pour livrer en spécifiant un répertoire, donc je pense que c'est aussi pratique pour éditer un peu de HTML.
Recommended Posts