Skip to content

docs: shared PyAuto Furo theming + GitHub Pages hub (phases B+C) #1

Description

@Jammy2211

Overview

Phases B+C of the docs-infrastructure middle path (census + decision record: PyAutoLabs/PyAutoFit#1341; phase A — RTD hygiene + docs CI — merged 2026-07-09). Phase B gives PyAutoFit/PyAutoGalaxy/PyAutoLens a shared bespoke brand layer on their Furo/ReadTheDocs docs; phase C ships this repo: a bespoke static front door at pyautolabs.github.io linking the docs, workspaces, HowTo courses and the AI-assistant path.

Zero-cost constraint (user decision): free infrastructure only — *.readthedocs.io stays canonical, the hub lives on the default pyautolabs.github.io domain. Custom domains (docs.pyautolens.org etc.; all relevant .orgs verified unregistered 2026-07-09) are a later config-flip retrofit documented in RETROFIT.md.

Plan

  • Phase C (this repo): self-contained static index.html (no external assets, light/dark via prefers-color-scheme, per-project accent colors), RETROFIT.md (paid-domain upgrade path), README.md, .nojekyll; GitHub Pages serves main. AI-assistant framing per the established user-docs convention (point ChatGPT/Claude at autolens_assistant; agentic tools first-class).
  • Phase B (three library repos, branch feature/docs-theming-hub): one shared docs/_static/pyauto.css + Furo html_theme_options per repo — common brand layer, per-project accent (Fit #e0700e amber, Galaxy #0d9488 teal, Lens #7c4dff purple — matching the hub), light+dark variables both styled. PyAutoFit needs its .gitignore docs/_static entry lifted (the reason its css never existed). Docs CI (shipped in phase A) guards the builds; baselines should hold (theming adds no warnings).
  • Verify: local Sphinx builds before/after per repo (warning counts vs baselines 67/105/134), rendered-page spot checks in both color schemes; full test suites per the ship gate.
Detailed implementation plan

Affected Repositories

  • pyautolabs.github.io (primary; new repo, created 2026-07-09 — work on main)
  • PyAutoFit, PyAutoGalaxy, PyAutoLens (theming PRs)

Branch Survey

All three library repos: clean on main (phase A merged; claims released). Suggested branch: feature/docs-theming-hub, worktree ~/Code/PyAutoLabs-wt/docs-theming-hub/.

Implementation Steps

  1. Hub: commit index.html, RETROFIT.md, README.md, .nojekyll to main; verify https://pyautolabs.github.io serves.
  2. Per library repo: add docs/_static/pyauto.css (shared, identical file); set html_static_path, html_css_files = ["pyauto.css"], html_theme_options with light_css_variables/dark_css_variables (brand + accent); Fit only — remove docs/_static from .gitignore.
  3. Rebuild docs per repo; confirm warning counts unchanged vs baseline; spot-check rendering light+dark.
  4. Ship per the autonomous-ship gate; PRs end at PR-open with validation checklists.

Key Files

  • pyautolabs.github.io/index.html — the front door
  • PyAuto{Fit,Galaxy,Lens}/docs/_static/pyauto.css — shared brand layer
  • PyAuto{Fit,Galaxy,Lens}/docs/conf.py — theme options
  • PyAutoFit/.gitignore — lift docs/_static

Registry

  • Register pyautolabs.github.io in PyAutoMind/repos.yaml (the body map) and run repos_sync.py --write.

Original Prompt

Click to expand starting prompt

See PyAutoMind/issued/docs_theming_and_hub.md — carries the verbatim original request, the middle-path decision and the zero-cost constraint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions