Ajout d'infos sur le système de documentation multiversion

master
youen 2 years ago
parent
commit
28cb25335d
  1. 23
      Compiler-la-documentation.md

23
Compiler-la-documentation.md

@ -36,7 +36,7 @@ Installer [Sphinx](https://www.sphinx-doc.org/en/master/index.html)
``` shell
pip install -U pip setuptools wheel
pip install Sphinx myst-parser sphinx_rtd_theme linkify-it-py
pip install Sphinx myst-parser sphinx_rtd_theme linkify-it-py sphinx-multiversion
```
## Prise en charge du format PDF
@ -64,6 +64,7 @@ extensions = [
```
# Générer la documentation au format HTML
## Une seule version
``` shell
cd projet-de-documentation
@ -71,6 +72,26 @@ source outils/bin/activate
make html
```
## Multiversion
L'extension [sphinx-multiversion](https://holzhaus.github.io/sphinx-multiversion/master/index.html) permet de générer un ensemble de pages HTML contenant plusieurs versions. Il est alors possible de choisir la version dans une liste déroulante.
### Principe de fonctionnement
Le principe est que cette extension liste les branches et tags dans le dépôt git local (elle ne consulte pas les informations sur le remote git). Il est possible de configurer quels tags et branches sont retenues comme versions via des expressions régulières. Par exemple la branche "main" et tous les tags commençant par "v" suivi de chiffres.
Il est important de noter que les fichiers source de chaque version sont utilisés, en revanche seule la configuration de la branche actuelle est utilisée pour compiler toutes les versions (y compris les fichiers CSS et templates par exemple). Il faut donc conserver une rétro-compatibilité du thème et de la configuration avec les ancienes sources. Cela permet en retour que les modifications du thème soit répercutées sur toutes les versions, afin d'avoir une documentation homogène.
### Compiler la documentation multiversion
``` shell
cd projet-de-documentation
source outils/bin/activate
make html_versions
```
### Configuration
Au delà de la [configuration du système de base](https://holzhaus.github.io/sphinx-multiversion/master/configuration.html), quelques modifications ont été ajoutées :
* l'extension `rtd_current_version` améliore la compatibilité de `sphinx-multiversion` avec le thème ReadTheDocs
* l'extension `version_data` permet de définir des variables python différentes dans chaque version, qui seront accessibles dans les templates. Ces variables peuvent être définies dans le fichier `current_version_data.py`
# Générer la documentation au format PDF
``` shell

Loading…
Cancel
Save