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: