From 0eb2634df629ef8047bee2e3114d03a722b73224 Mon Sep 17 00:00:00 2001 From: Alexander Loechel Date: Thu, 20 Aug 2026 22:55:30 +0200 Subject: [PATCH] Add edutap.esc_router_api to the package documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `edutap.esc_router_api` 0.1.0 went to PyPI today, and its `Documentation` metadata points at https://docs.edutap.eu/packages/edutap_esc_router_api/index.html which answered 404. PyPI metadata is frozen per version, so that link cannot be corrected for 0.1.0 -- it heals only by this site serving the path. It now does. Follows the pattern the other two packages already use: the submodule is pinned, `source/packages/` is a symlink into its `docs/`, and the package is installed editable so autodoc can import it. Nothing is duplicated here; the package's own Diátaxis documentation is what gets built, all 23 pages of it. Two supporting changes: * `sphinx-design` in `requirements.txt` and in `extensions`. The package's landing page uses a grid of cards, which silently renders as nothing without it. * `exclude_patterns`, previously empty. A symlinked `docs/` brings along whatever else lives there -- the package's own `conf.py`, its build output, its documentation virtualenv and its working documents. The patterns are written for `packages/*` rather than for this one package, so the next submodule gets the same treatment. Known cosmetic wart, not introduced here: eight `myst.xref_missing` warnings from cross-references inside the package. Sphinx resolves a symlinked document to its real path, which lies outside `source/`, so it declines to treat it as a known document -- but it still emits the correct relative link. All eight were checked against the built HTML and all eight resolve. `edutap.wallet_google` already produces three of the same kind. Build: `sphinx-build source html` succeeds; the package contributes `packages/edutap_esc_router_api/` with 23 pages, and `.venv`, `_build` and `superpowers` stay out. Co-Authored-By: Claude Opus 5 --- .gitmodules | 3 +++ requirements.txt | 2 ++ source/conf.py | 13 ++++++++++++- source/packages/edutap_esc_router_api | 1 + source/packages/index.md | 1 + submodules/edutap.esc_router_api | 1 + 6 files changed, 20 insertions(+), 1 deletion(-) create mode 120000 source/packages/edutap_esc_router_api create mode 160000 submodules/edutap.esc_router_api diff --git a/.gitmodules b/.gitmodules index 3b6b6be..74b4759 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,6 @@ [submodule "submodules/edutap.wallet_apple"] path = submodules/edutap.wallet_apple url = https://github.com/edutap-eu/edutap.wallet_apple.git +[submodule "submodules/edutap.esc_router_api"] + path = submodules/edutap.esc_router_api + url = https://github.com/edutap-eu/edutap.esc_router_api.git diff --git a/requirements.txt b/requirements.txt index 0a857c1..89563d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,9 @@ sphinx-issues sphinx-copybutton sphinxcontrib-mermaid sphinx-autobuild +sphinx-design sphinxcontrib.spelling autodoc_pydantic -e submodules/edutap.wallet_google -e submodules/edutap.wallet_apple +-e submodules/edutap.esc_router_api diff --git a/source/conf.py b/source/conf.py index fe52166..b0b8aaa 100644 --- a/source/conf.py +++ b/source/conf.py @@ -42,6 +42,8 @@ "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinxcontrib.autodoc_pydantic", + # The esc_router_api landing page uses grids and cards. + "sphinx_design", ] # Add any paths that contain templates here, relative to this directory. @@ -50,7 +52,16 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [] +exclude_patterns = [ + # The package documentation is symlinked in from each submodule's own `docs/` + # directory, so whatever else lives there arrives with it: the package's own + # Sphinx configuration, its build output, its documentation virtualenv, and its + # working documents. None of that belongs in this build. + "packages/*/conf.py", + "packages/*/_build/**", + "packages/*/.venv/**", + "packages/*/superpowers/**", +] # -- Options for HTML output ------------------------------------------------- diff --git a/source/packages/edutap_esc_router_api b/source/packages/edutap_esc_router_api new file mode 120000 index 0000000..d24d0bb --- /dev/null +++ b/source/packages/edutap_esc_router_api @@ -0,0 +1 @@ +../../submodules/edutap.esc_router_api/docs/ \ No newline at end of file diff --git a/source/packages/index.md b/source/packages/index.md index 1473908..6c449db 100644 --- a/source/packages/index.md +++ b/source/packages/index.md @@ -11,5 +11,6 @@ caption: Contents getting_started.md edutap_wallet_google/index.md edutap_wallet_apple/index.md +edutap_esc_router_api/index.md ``` \ No newline at end of file diff --git a/submodules/edutap.esc_router_api b/submodules/edutap.esc_router_api new file mode 160000 index 0000000..b78746f --- /dev/null +++ b/submodules/edutap.esc_router_api @@ -0,0 +1 @@ +Subproject commit b78746fe3753adc8fa2a560f37c35a3be04e6f34