diff --git a/docs/conf.py b/docs/conf.py index 19d4d9e..995b4dd 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,6 +3,8 @@ # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html +import os + # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information @@ -43,6 +45,44 @@ html_theme = 'sphinx_book_theme' html_static_path = [] html_show_sphinx = False +# Le thème publie le source de chaque page dans _sources/ et l'expose derrière +# un bouton de téléchargement. Les deux vont ensemble : couper la copie sans +# couper le bouton laisserait un lien mort vers un répertoire vide. +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') +_docs_version = os.environ.get('DOCS_VERSION') + html_theme_options = { 'home_page_in_toc': True, + 'use_download_button': False, + 'icon_links': [ + { + 'name': 'Dépôt', + 'url': 'https://git.g3e.fr/syonad/two', + 'icon': 'fa-solid fa-code-branch', + 'type': 'fontawesome', + }, + ], } + +if _docs_base_url and _docs_version: + html_theme_options['switcher'] = { + 'json_url': f'{_docs_base_url}/switcher.json', + 'version_match': _docs_version, + } + # Le thème book vide navbar_start et place tout dans la barre latérale : le + # sélecteur doit donc y être inséré explicitement, à côté du logo. + html_sidebars = { + '**': [ + 'navbar-logo.html', + 'icon-links.html', + 'version-switcher.html', + 'search-button-field.html', + 'sbt-sidebar-nav.html', + ] + }