Skip to content

Astro docs migration#24

Open
andrewfulton9 wants to merge 11 commits into
nebari-dev:mainfrom
andrewfulton9:worktree-astro-docs-migration
Open

Astro docs migration#24
andrewfulton9 wants to merge 11 commits into
nebari-dev:mainfrom
andrewfulton9:worktree-astro-docs-migration

Conversation

@andrewfulton9

@andrewfulton9 andrewfulton9 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Reference Issues or PRs

Closes #22

What does this implement/fix?

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds a feature)
  • Breaking change (fix or feature that would cause existing features not to work as expected)
  • Documentation Update
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • Other (please describe):

Summary

Migrates the docs site from Docusaurus to Astro + Starlight, matching the pattern established in nebari-dev/nebi-pack#40 and nebari-dev/llm-serving-pack#120, per the checklist in #22.

  • Astro + Starlight replace Docusaurus as the static site generator (npm still used for dependency management, unchanged).
  • Adopts the nebari-design token/component system: Tailwind v4, a shadcn-style components.json registry, and shared Button/Spinner/RepoButton/SocialIcons components.
  • Adds a remark-base-links plugin (with unit tests) so internal links work correctly both at / and under a deployed subpath.
  • Migrates existing content (Introduction, Authentication Flow, NebariApp CRD Reference) into the new Astro content collection — prose is unchanged, only frontmatter was adapted to Starlight's schema.
  • Rewrites docs/README.md with the new npm commands (dev/build/preview/test) and testing/link-checking instructions.
  • Adds scripts/check-links.sh, an internal link checker run in CI and available locally.
  • Replaces the GitHub Pages deploy workflow with a docs.yml workflow that builds, unit-tests, link-checks, and deploys to Cloudflare Pages (with PR preview URLs and a cleanup workflow for closed PRs).
  • Updates the top-level .gitignore for Astro build artifacts (docs/dist/, docs/.astro/) in place of the old Docusaurus entries.

Out of scope (intentionally): this repo has no top-level Makefile (only dev/Makefile, for the unrelated Tilt-based operator dev loop), so no make docs-* targets were added and the top-level README.md was left untouched — doc-update instructions live entirely in docs/README.md.

Testing

  • Did you test the pull request locally?
  • Did you add new tests?

npm install, npm test (10/10 passing), npm run build, and bash scripts/check-links.sh all pass locally. CI runs the same checks and additionally deploys to Cloudflare Pages (requires the CLOUDFLARE_API_TOKEN/CLOUDFLARE_ACCOUNT_ID repo secrets to be configured).

Documentation

docs/README.md documents the new install/dev/build/preview/test/link-check workflow and CI.

Access-centered content checklist

Text styling

  • The content is written with plain language (where relevant).
  • If there are headers, they use the proper header tags (with only one level-one header: H1 or # in markdown).
  • All links describe where they link to (for example, check the Nebari website).
  • This content adheres to the Nebari style guides.

Non-text content

  • All content is represented as text (for example, images need alt text, and videos need captions or descriptive transcripts).
  • If there are emojis, there are not more than three in a row.
  • Don't use flashing GIFs or videos.
  • If the content were to be read as plain text, it still makes sense, and no information is missing.

Any other comments?

None of the doc page prose changed — only the site generator, styling, and CI/deploy mechanism.

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.

[DOC] - Update doc serving engine to Astro

1 participant