Files
Jungfraujoch/docs/conf.py
T
leonarski_fandClaude Opus 5 784cf87cc8 docs: put the generated python-client reference behind one landing page
The OpenAPI Python client owned the sidebar: DefaultApi's 128 method anchors
plus the 64 hidden-glob model pages were 195 of its 256 entries, because
sphinx_material's globaltoc includes hidden toctrees by default. A new
PYTHON_CLIENT.md landing page carries the links and a hidden glob toctree, and
globaltoc_includehidden is off, so every generated page is still built and
reachable (verified: 64 model pages + DefaultApi render, zero warnings) while
the sidebar drops to 61 entries. docs/review/ joins exclude_patterns so a
local, gitignored review report can never again be rendered into the
published site.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
2026-09-02 09:18:36 +02:00

93 lines
3.1 KiB
Python

# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'Jungfraujoch'
copyright = '2024, Paul Scherrer Institute'
author = 'Filip Leonarski'
release = '1.0.0-rc.166'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
'myst_parser',
'sphinx.ext.mathjax',
]
templates_path = ['_templates']
# docs/review/ is gitignored working material (review reports, work plans); Sphinx renders
# whatever is on disk, so without this a local review file would become a published page.
exclude_patterns = ['review']
myst_enable_extensions = [
'linkify',
'smartquotes',
'dollarmath',
'amsmath',
]
myst_heading_anchors = 3
# The OpenAPI Python-client pages under docs/python_client/ are generated by the
# openapi-generator and contain header-level jumps and intra-page anchors that MyST
# cannot resolve. We do not hand-edit generated files, so silence that noise here;
# the hand-written docs are anchor-clean once myst_heading_anchors is set above.
# 'config.cache' fires only because the sphinx_material theme stores a function in
# html_context, which is harmless for our single-shot builds.
suppress_warnings = ['myst.header', 'myst.xref_missing', 'config.cache']
# Render LaTeX-style math nicely in HTML and support AMS-style equation numbering.
mathjax3_config = {
"tex": {
"tags": "ams",
"inlineMath": [['\\(', '\\)'], ['$', '$']],
"displayMath": [['\\[', '\\]'], ['$$', '$$']],
"processEscapes": True,
}
}
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'sphinx_material'
html_static_path = ['../broker/redoc-static.html']
#html_theme_options = {
# 'sidebar_width': '300px',
# 'page_width': 'auto'
#}
html_theme_options = {
'repo_url': 'https://gitea.psi.ch/mx/jungfraujoch',
'repo_name': 'Jungfraujoch',
'nav_title': 'PSI Jungfraujoch',
'html_minify': True,
'css_minify': True,
'globaltoc_depth': 2,
# The generated python-client pages live in a hidden toctree on PYTHON_CLIENT.md: built and
# linked, but out of the sidebar - with the default includehidden=True they were 195 of the
# sidebar's 256 entries.
'globaltoc_includehidden': False,
# sphinx_material only knows github/gitlab/bitbucket; the repository is Gitea, so 'gitlab' is
# picked purely for the icon it renders next to repo_url above.
'repo_type': 'gitlab',
'color_primary': 'indigo',
'color_accent': 'lime',
'logo_icon': '&#xe30d'
}
html_logo = 'jfjoch.png'
html_favicon = 'jfjoch.png'
html_sidebars = {
"**": ["logo-text.html", "globaltoc.html", "searchbox.html"]
}
html_show_sourcelink = False