Compiler le manuel avec Sphinx
Cette page explique comment compiler une copie locale du manuel Godot en utilisant le moteur Sphinx docs. Cela vous permet d’avoir des fichiers HTML locaux et de créer la documentation sous la forme d’un fichier PDF, EPUB ou LaTeX, par exemple.
Avant de commencer, assurez-vous que vous avez :
Note
Python 3 devrait venir avec la commande pip3. Vous devrez peut-être écrire python3 -m pip (Unix) ou py -m pip (Windows) au lieu de pip3. Si les deux approches échouent, assurez-vous que vous avez pip3 d'installé https://pip.pypa.io/en/stable/installation/.
(Optionnel) Créer un environnement virtuel. Les environnements virtuels empêchent les conflits potentiels entre les packages Python dans
requirements.txtet d'autres packages Python qui sont installés sur votre système.Création de l'environnement virtuel :
py -m venv godot-docs-venv
python3 -m venv godot-docs-venv
Activation de l'environnement virtuel :
godot-docs-venv\Scripts\activate.bat
source godot-docs-venv/bin/activate
(optionnel) Mise à jour des paquets pré-installés :
py -m pip install --upgrade pip setuptools
pip3 install --upgrade pip setuptools
Cloner le dépôt de documents :
git clone https://github.com/godotengine/godot-docs.git
Changer de répertoire vers le dépôt de documentation :
cd godot-docs
Installation des packages requis :
pip3 install -r requirements.txt
Création des documentations :
make htmlNote
Sur Windows, cette commande va exécuter
make.batau lieu de GNU Make (ou une alternative).Autrement, vous pouvez compiler la documentation en exécutant manuellement le programme sphinx-build :
sphinx-build -b html ./ _build/html
La compilation prendra un certain temps car le dossier classes/ contient des centaines de fichiers. Voir Indices de performance.
Vous pouvez ensuite parcourir la documentation en ouvrant _build/html/index.html dans votre navigateur web.
Traiter avec des erreurs
Si vous rencontrez des erreurs, vous pouvez essayer la commande suivante :
make SPHINXBUILD=~/.local/bin/sphinx-build html
Si vous obtenez un MemoryError ou un EOFError, vous pouvez supprimer le dossier classes/ et relancer make. Cela supprimera les références aux classes dans la documentation HTML finale mais gardera le reste intact.
Important
Si vous supprimez le dossier classes/, n'utilisez pas git add . lorsque vous travaillez sur une pull request ou l'ensemble du dossier classes/ sera supprimé lors du commit. Voir #3157 pour plus de détails.
Indices de performance
Utilisation de la RAM
La compilation de la documentation requiert au moins 8 Go de RAM pour fonctionner sans swapping, ce qui la ralentit. Si vous avez au moins 16 Go de RAM, vous pouvez accélérer la compilation en exécutant :
set SPHINXOPTS=-j2 && make html
make html SPHINXOPTS=-j2
Vous pouvez utiliser -j auto pour utiliser tous les threads CPU disponibles, mais cela peut utiliser beaucoup de RAM si vous avez beaucoup de threads CPU. Par exemple, sur un système avec 32 threads CPU, -j auto (qui correspond à -j 32 ici) peut nécessiter plus de 20 Go de RAM pour Sphinx seulement.
Spécifier une liste de fichiers
Avertissement
Cette section ne fonctionnera pas sur Windows, puisque le dépôt utilise un script simplifié make.bat au lieu du vrai programme GNU Make. Si vous souhaitez obtenir un terminal Linux sur votre système, considérez l'utilisation du Sous-système Windows pour Linux (WSL, Windows System for Linux).
Vous pouvez aussi lister des fichiers spécifiques à compiler, cela peut grandement accélérer la compilation :
make html FILELIST='classes/class_node.rst classes/class_resource.rst'
La liste des fichiers peut également être fournie par la commande git. De cette façon, vous pouvez obtenir automatiquement les noms de tous les fichiers qui ont changé depuis le dernier commit (sed est utilisé pour les mettre sur la même ligne).
make html FILELIST="$(git diff HEAD --name-only | sed -z 's/\n/ /g')"
Vous pouvez remplacer HEAD par master pour renvoyer tous les fichiers modifiés de la branche master :
make html FILELIST="$(git diff master --name-only | sed -z 's/\n/ /g')"
Si des images ont été modifiées, la sortie contiendra quelques avertissements à leur sujet, mais la compilation continuera correctement.