Skip to content

Consolidate documentation: MkDocs on master, retire stranded Sphinx/jtb split #101

Description

@lg345

Problem

Documentation is split across two toolchains that disagree, and the live site is frozen.

Published site (lg345.github.io/XSpect) is MkDocs, stranded on a dead branch.

  • origin/gh-pages was built by mkdocs gh-deploy (MkDocs 1.6.1, Material 9.6.21, mkdocstrings). Last deploy 38e209d, 2025-10-10.
  • The config that builds it (mkdocs.yml, docs/*.md, .github/workflows/build_versioned_mkdocs.yml) lives only on origin/jtb, not on master.
  • The workflow triggers only on push: jtb. Nobody pushes jtb, so the site has not rebuilt since Oct 2025 and predates the entire YAML/MVC architecture.

Why it left master. The MkDocs docs were merged into master then reverted out three times (5d97d9d, 4710a6d, f3a5b2e) because the merges kept breaking the built page. jtb's tip is a full ancestor of master (0 ahead, 127 behind).

Sphinx on master is also stale. docs/conf.py + .readthedocs.yaml target Read the Docs, autodoc only covers the legacy top-level modules (not XSpect.model/controller/analysis), and docs/_build/ is committed.

Neither build includes docs/YAML_PIPELINE_GUIDE.md or the quarterly review.

Verified

  • All 11 new-package modules and all 5 legacy modules import without psana, so mkdocstrings can introspect both in CI (ubuntu, no LCLS env). This removes the import-time failure that likely caused the historical merge breakage.

Plan (in progress)

  1. Port docs/*.md + docs/media/ from jtb to master. (done)
  2. Write mkdocs.yml with mkdocstrings pointed at XSpect.model/controller/analysis; add nav for the YAML pipeline guide.
  3. Add source pages for the new package.
  4. Port the CI workflow, retarget trigger to push: master.
  5. Remove Sphinx docs/_build/, conf.py, *.rst, Makefile/make.bat, and .readthedocs.yaml so MkDocs is the single source.
  6. Validate mkdocs build --strict locally before any push (the site broke on merge before; do not repeat).

Expected result

One documentation source (MkDocs Material + mkdocstrings), auto-deployed to GitHub Pages on push to master, covering both the new YAML architecture and the legacy modules.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions