Skip to content

docs: add MkDocs Material site + GitHub Pages deploy#44

Open
dustenhubbard wants to merge 1 commit into
mainfrom
docs/mkdocs-site
Open

docs: add MkDocs Material site + GitHub Pages deploy#44
dustenhubbard wants to merge 1 commit into
mainfrom
docs/mkdocs-site

Conversation

@dustenhubbard

Copy link
Copy Markdown
Owner

Summary

Adds a MkDocs Material documentation site rendered from docs/, deployable to
GitHub Pages. This is additive: it does not touch the GitHub wiki or the
in-app Help "user guide" link (see Open decisions below).

What's here

  • mkdocs.yml at the repo root: Material theme; site_name "PyReconstruct";
    repo_url / repo_name point at this fork; docs_dir: docs. Features:
    navigation.instant, navigation.top, navigation.sections, search.suggest,
    content.code.copy; light/dark palette toggle; the built-in search plugin.
  • Nav surfacing the existing content:
    • User Guide renders docs/USER_GUIDE.md.
    • Performance (docs/performance.md) summarizes the fork's benchmark
      headline and links out to benchmarks/REPORT.md and the harness.
    • Developing with uv renders the existing docs/DEV_UV.md.
    • Contributing and Security are out-links to CONTRIBUTING.md and
      SECURITY.md (kept at the repo root, not duplicated into docs/).
  • docs/index.md: a short landing page (what PyReconstruct is, an install
    pointer, and links into the guide), reusing the README's framing without
    duplicating it.
  • docs/requirements.txt: pins mkdocs-material==9.7.6 so CI and local
    builds are reproducible.
  • .github/workflows/docs.yml: builds the site and deploys to GitHub Pages
    using the modern Pages flow (configure-pages, upload-pages-artifact,
    deploy-pages) with pages: write / id-token: write permissions and
    concurrency on the pages group. Triggers on pushes to main that touch
    docs/**, mkdocs.yml, or the workflow, plus workflow_dispatch.
  • User Guide link fix: four relative links that pointed outside docs_dir
    (../CONTRIBUTING.md x3, ../README.md x1) now use absolute GitHub URLs so
    mkdocs build --strict passes. The guide is otherwise unchanged. The built
    site/ directory is git-ignored.

Verification

mkdocs build --strict succeeds with no broken-link or nav warnings:

INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: .../site
INFO    -  Documentation built in 0.37 seconds

All pages build (index, USER_GUIDE, performance, DEV_UV) and the search
index is generated. The guide's internal section anchors all resolve under the
default MkDocs slugify.

Action required to publish

GitHub Pages must be enabled once, manually: Settings -> Pages -> Source:
"GitHub Actions"
. Until then the deploy job cannot publish.

Open decisions (for the maintainer, not changed here)

  1. Canonical manual vs. the wiki. The deep manual currently lives on the UT
    Austin / GitHub wiki. This site can grow into the canonical manual, or the
    wiki can remain the deep reference with this site as the in-repo essentials.
    Not decided here.
  2. In-app Help link. Help -> Online resources still points the "user guide"
    at the wiki. Repointing it at this site (once published) is a separate
    decision and is intentionally left untouched.

Render a MkDocs Material documentation site from docs/, with a nav that
surfaces the existing User Guide, a summarized Performance page linking to
the benchmark report, the uv development guide, and out-links to CONTRIBUTING
and SECURITY. Add a short landing page (docs/index.md), pin the build deps in
docs/requirements.txt, and add a GitHub Pages deploy workflow that runs on
pushes to main touching the docs (plus manual dispatch).

This is additive: the GitHub wiki and the in-app Help "user guide" link are
left untouched.

Fix four relative links in the User Guide (../CONTRIBUTING.md, ../README.md)
that point outside docs_dir so that mkdocs build --strict passes; the guide
is otherwise unchanged. Ignore the built site/ directory.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant