Skip to content

Migrate docs from mkdocs to great-docs#810

Draft
edavidaja wants to merge 19 commits into
mainfrom
use-great-docs
Draft

Migrate docs from mkdocs to great-docs#810
edavidaja wants to merge 19 commits into
mainfrom
use-great-docs

Conversation

@edavidaja

Copy link
Copy Markdown
Collaborator

Migrates the documentation site from mkdocs (Material theme) to great-docs (Quarto-based). Hosting stays on S3 (docs.posit.co/rsconnect-python); great-docs replaces only the build step. Scope matches the old site: CLI reference + narrative guides + changelog, no Python API reference, single-version.

Design spec, implementation plan, and spike findings are under docs/superpowers/{specs,plans,spikes}/.

What changed

  • great-docs.yml — CLI reference auto-discovered from rsconnect.main, Python API reference suppressed (reference: false), changelog from GitHub Releases, GTM (GTM-KHBDBW7) via top-level include_in_header, Posit logo/favicon, User Guide order matching the old nav.
  • user_guide/*.qmd — the four narrative pages migrated from docs/*.md (prose byte-identical; the single {{ version }} macro dropped — great-docs shows the version automatically).
  • scripts/backfill_release_notes.py (+ tests) — one-time script to backfill the empty GitHub Release bodies from docs/CHANGELOG.md so the auto-changelog has history. Dry-run by default; --apply is gated and idempotent.
  • justfile + CI/preview workflows — build via great-docs into great-docs/_site/, still synced to the existing S3 buckets; Quarto CLI added to CI.
  • Removed the mkdocs toolchain (mkdocs.yml, docs/commands/, docs/overrides/, docs/css/, command stubs); updated CLAUDE.md; re-locked uv.lock (dropped mkdocs deps).

Build recipe (spike-confirmed)

just docs provisions an isolated .venv-docs (Python 3.12) with great-docs + pygments + the project, activated, then runs great-docs build. The uv run --with approach does not work — Quarto's post-render hook must run under an interpreter that has great_docs/pygments importable.

Follow-ups (non-blocking)

  • Run the changelog backfill (maintainer action, writes to GitHub Releases): uv run python scripts/backfill_release_notes.py (dry-run → 39 releases), then re-run with --apply.
  • Pin the Quarto version in CI (quarto-actions/setup currently unpinned).
  • Add S3 redirects for old commands/* deep-link URLs (now reference/cli/*).
  • Optionally delete the now-orphaned docs/images/.

Testing

726 pass. The 4 test_quickstart[shiny] failures are pre-existing (reproduce at 04a115a) — an orjson build failure under CPython 3.14-freethreaded, unrelated to this change.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://posit-dev.github.io/rsconnect-python/pr-preview/pr-810/

Built to branch gh-pages at 2026-07-01 20:26 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Base automatically changed from uv-tooling-modernization to main July 1, 2026 19:22
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
7601 6317 83% 0% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: dca35ba by action🐍

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