Écrire de la documentation dans Sphinx avec Python Livereload

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.

Réglage de l'environnement par direnv

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.

fichier de configuration

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.

en conclusion

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

Écrire de la documentation dans Sphinx avec Python Livereload
Créer une documentation de projet Python dans Sphinx
Créer automatiquement la documentation Python avec Sphinx
Créez automatiquement la documentation de l'API Python avec Sphinx
Ecrire Python dans MySQL
Ecrire des filtres Pandec en Python
Grattage au sélénium en Python
Exploitez LibreOffice avec Python
Grattage avec chromedriver en python
Écrire une distribution bêta en Python
Débogage avec pdb en Python
Ecrire python dans Rstudio (réticulé)
Gérer les sons en Python
Grattage avec du sélénium en Python
Ecrire des caractères dans l'illustration de la carte avec OpenCV python
Grattage avec Tor en Python
Tweet avec image en Python
Combiné avec ordinal en Python
Écrivons python avec cinema4d.
Écrire en csv avec Python
Compiler la documentation Sphinx avec Wercker
Reconnaissance des nombres dans les images avec Python
Ecrire une dichotomie en Python
Tester avec des nombres aléatoires en Python
GOTO en Python avec Sublime Text 3
Ecrire un schéma JSON avec Python DSL
Travailler avec LibreOffice en Python: import
[Python] Ecrire dans un fichier csv avec Python
Scraping avec Selenium en Python (Basic)
Analyse CSS avec cssutils en Python
Ecrire un serveur HTTP / 2 en Python
Ecrire une fonction AWS Lambda en Python
Numer0n avec des objets fabriqués avec Python
Ecrire des algorithmes A * (A-star) en Python
Ouvrez UTF-8 avec BOM en Python
Utiliser rospy avec virtualenv dans Python3
Ecrire le code de test du sélénium en python
Ecrire un graphique à secteurs en Python
Ecrire le plugin vim en Python
Utiliser Python mis en pyenv avec NeoVim
Écrire une recherche de priorité en profondeur en Python
Heatmap avec dendrogramme en Python + matplotlib
Lire des fichiers en parallèle avec Python
Générer un mot de passe pour le manuel avec python
Utiliser OpenCV avec Python 3 dans Window
Jusqu'à traiter de python dans Atom
Ecrire un test unitaire de langage C en Python
Démarrez avec Python avec Blender
Ecrire un script batch avec Python3.5 ~
Travailler avec des images DICOM en Python
Obtenez des données supplémentaires vers LDAP avec python
Livre en spirale en Python! Python avec un livre en spirale! (Chapitre 14 ~)
Essayez de vous connecter à qiita avec Python
Test de stress avec Locust écrit en Python
Python3> dans le mot clé> Vrai avec une correspondance partielle?
Contrôle exclusif avec fichier de verrouillage en Python
Surveillance des appareils effectuée par Python On-box de IOS-XE
Ecrire le test dans la docstring python
Essayez de travailler avec des données binaires en Python
Dessinez Nozomi Sasaki dans Excel avec python
Conseils pour gérer les binaires en Python