From d5a1a14d63fd7dc5651759a49451ca30e6e389c7 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Thu, 10 Sep 2026 00:22:55 +0200 Subject: [PATCH] fix Signed-off-by: GnomeZworc --- .forgejo/workflows/docs.yml | 26 +++++++++++++++----------- docs/conf.py | 7 +++---- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.forgejo/workflows/docs.yml b/.forgejo/workflows/docs.yml index 70a16f0..147c4da 100644 --- a/.forgejo/workflows/docs.yml +++ b/.forgejo/workflows/docs.yml @@ -23,12 +23,13 @@ jobs: env: TOKEN: ${{ secrets.RELEASE }} SITE_DIR: /tmp/site - # URL publique du site. Elle ne sert qu'aux liens du menu de version : - # ceux-ci sont concaténés au chemin de la page courante puis posés en - # href, donc un chemin relatif y serait résolu par rapport à la page et - # casserait selon la profondeur. Le switcher.json, lui, est référencé en - # relatif et n'en dépend pas. - DOCS_BASE_URL: https://syonad.g3e.fr/two + # Préfixe de chemin sous lequel le site est servi. Vide = racine du + # domaine, ce qui couvre le cas courant et un serveur de test local. + # À renseigner (par exemple /two) seulement si les pages sont publiées + # sous un sous-chemin. Aucun nom d'hôte ici : les liens du menu de + # version sont relatifs à l'origine, donc le site fonctionne à + # l'identique en local et en production. + DOCS_BASE_PATH: '' steps: # fetch-depth: 0 — les tags et leur contenu sont nécessaires : chaque # version est construite depuis son propre ref. @@ -71,7 +72,7 @@ jobs: run: | build () { local ref="$1" src="$2" - DOCS_BASE_URL="${DOCS_BASE_URL}" DOCS_VERSION="${ref}" \ + DOCS_VERSION="${ref}" \ /tmp/venv/bin/sphinx-build -b html -W --keep-going \ -d "/tmp/doctrees-${ref}" "${src}/docs" "${SITE_DIR}/${ref}" } @@ -92,22 +93,26 @@ jobs: git worktree remove --force "/tmp/src-${version}" done + # Les liens du menu de version sont relatifs à l'origine : le thème les + # concatène au chemin de la page courante avant de les poser en href, si + # bien qu'un chemin relatif y serait résolu depuis la page et casserait + # selon sa profondeur. Une barre initiale les ancre à la racine du site, + # sans jamais nommer d'hôte. - name: Assembler la racine du site run: | - # La version mise en avant est la dernière release finale, main sinon. preferred="$(echo ${VERSIONS} | tr ' ' '\n' | head -1)" [ -n "${preferred}" ] || preferred="main" { echo '[' - echo ' {"name": "dev (main)", "version": "main", "url": "'"${DOCS_BASE_URL}"'/main/"},' + echo ' {"name": "dev (main)", "version": "main", "url": "'"${DOCS_BASE_PATH}"'/main/"},' first=1 for version in ${VERSIONS} do [ -d "${SITE_DIR}/${version}" ] || continue [ ${first} -eq 1 ] && suffix=', "preferred": true' || suffix='' first=0 - echo ' {"name": "'"${version}"'", "version": "'"${version}"'", "url": "'"${DOCS_BASE_URL}"'/'"${version}"'/"'"${suffix}"'},' + echo ' {"name": "'"${version}"'", "version": "'"${version}"'", "url": "'"${DOCS_BASE_PATH}"'/'"${version}"'/"'"${suffix}"'},' done } | sed '$ s/,$//' > "${SITE_DIR}/switcher.json" echo ']' >> "${SITE_DIR}/switcher.json" @@ -124,7 +129,6 @@ jobs: two — documentation -

Documentation de two

diff --git a/docs/conf.py b/docs/conf.py index d6f23a2..e6cdf00 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -52,9 +52,8 @@ html_copy_source = False html_show_sourcelink = False # Le sélecteur de version est piloté par le workflow de publication : hors CI -# ces variables sont absentes, le sélecteur n'apparaît pas, et le build ne -# dépend d'aucun réseau. -_docs_base_url = os.environ.get('DOCS_BASE_URL') +# la variable est absente, le sélecteur n'apparaît pas, et le build ne dépend +# d'aucun réseau. _docs_version = os.environ.get('DOCS_VERSION') html_theme_options = { @@ -70,7 +69,7 @@ html_theme_options = { ], } -if _docs_base_url and _docs_version: +if _docs_version: html_theme_options['switcher'] = { # Chemin relatif volontairement : le thème le résout contre la racine # de la version courante, donc toujours dans la même origine que la