Set up star homepage & docs site (Astro + MDX) #1

Merged
jingus merged 3 commits from t3/homepage-docs-site into main 2026-11-07 02:28:19 -06:00
Owner

star homepage & docs site ✦

Sets up the org homepage / documentation site for star, built with
Astro + MDX and small React islands where interactivity earns its
keep.

The site

  • Cute, space-y theme: fixed starfield with three twinkling layers +
    shooting stars, nebula gradients, translucent blurred panels, starlight-gold
    accents, gradient headings with ✦ markers, and a smiling placeholder
    logo
    (Logo.astro + favicon.svg — swap when a real mascot lands).
  • React islands, sprinkled: TypingTerminal (hero demo that types star use / star repo transcripts on loop, respects prefers-reduced-motion)
    and InstallTabs (nix/cargo tabs with copy-to-clipboard).
  • Docs search via pagefind, indexed at build time; a custom "Deep Space"
    shiki theme for code blocks.
  • Vendored fonts (Nunito variable + Source Code Pro, OFL files included).

The documentation

Written in light of the planned feature set in
star/star (README, docs/DESIGN.md,
docs/PLAN.md, docs/FUTURE-NIX.md), with per-page status badges that track
the phase table (✅ scaffold/git layer · 🔜 repo management · ⬜ use/template):

  • Installation — cargo and nix (run without installing, profile install,
    flake input, from a checkout), prerequisites, troubleshooting
  • Quick start · Concepts (repository / namespace / template / pin)
  • CLI reference: star use, star repo, star template
  • Reference: star.toml, star.config.toml, template references, ignore
    semantics, git & cache
  • Design notes: error UX, security
  • Roadmap (mirrors PLAN.md) · star × nix (FUTURE-NIX.md condensed)

Nix all the way down

  • nix develop → nodejs + pagefind devshell
  • nix build .#site → deterministic buildNpmPackage build + pagefind index
  • nix run . → serves the flake-built site
  • nix flake check → what CI gates on
  • .forgejo/workflows/deploy.yml builds via nix (attic-cached, nix runner)
    and force-pushes the output to the pages branch
# star homepage & docs site ✦ Sets up the org homepage / documentation site for **star**, built with **Astro + MDX** and small **React** islands where interactivity earns its keep. ## The site - **Cute, space-y theme**: fixed starfield with three twinkling layers + shooting stars, nebula gradients, translucent blurred panels, starlight-gold accents, gradient headings with ✦ markers, and a smiling **placeholder logo** (`Logo.astro` + `favicon.svg` — swap when a real mascot lands). - **React islands, sprinkled**: `TypingTerminal` (hero demo that types `star use` / `star repo` transcripts on loop, respects `prefers-reduced-motion`) and `InstallTabs` (nix/cargo tabs with copy-to-clipboard). - **Docs search** via pagefind, indexed at build time; a custom "Deep Space" shiki theme for code blocks. - Vendored fonts (Nunito variable + Source Code Pro, OFL files included). ## The documentation Written in light of the **planned feature set** in [star/star](https://git.jingus.dev/star/star) (`README`, `docs/DESIGN.md`, `docs/PLAN.md`, `docs/FUTURE-NIX.md`), with per-page status badges that track the phase table (✅ scaffold/git layer · 🔜 repo management · ⬜ use/template): - **Installation** — cargo *and* nix (run without installing, profile install, flake input, from a checkout), prerequisites, troubleshooting - Quick start · Concepts (repository / namespace / template / pin) - CLI reference: `star use`, `star repo`, `star template` - Reference: `star.toml`, `star.config.toml`, template references, ignore semantics, git & cache - Design notes: error UX, security - Roadmap (mirrors PLAN.md) · star × nix (FUTURE-NIX.md condensed) ## Nix all the way down - `nix develop` → nodejs + pagefind devshell - `nix build .#site` → deterministic `buildNpmPackage` build + pagefind index - `nix run .` → serves the flake-built site - `nix flake check` → what CI gates on - `.forgejo/workflows/deploy.yml` builds via nix (attic-cached, `nix` runner) and force-pushes the output to the `pages` branch
- Astro 7 + MDX content collections, React islands sprinkled in:
  TypingTerminal (hero demo) and InstallTabs (copy-to-clipboard)
- cute space-y theme: nebula gradients, twinkling starfield + shooting
  stars, translucent panels, starlight-gold accents, smiling
  placeholder logo (Logo.astro + favicon.svg)
- docs for the planned feature set of star/star: install (cargo + nix),
  quick start, concepts, CLI reference (use/repo/template), star.toml,
  star.config.toml, references, ignore semantics, git & cache, error UX,
  security, roadmap, star x nix — with per-phase status badges
- static search via pagefind, custom 'Deep Space' shiki theme
- nix flake: deterministic site build (buildNpmPackage + pagefind),
  serve app, devshell, checks; forgejo workflow deploys to pages branch
- TypingTerminal/InstallTabs: class -> className (React warns on
  hydration; SSR output unchanged since className compiles to class)
- Header search: import pagefind via a variable specifier so vite's
  import-analysis never statically resolves /pagefind/pagefind.js
  (it only exists in a built site); in dev the runtime 404 is caught
  and search degrades gracefully
- verified with astro dev this time: all pages 200, no vite errors,
  island modules transform cleanly; build + pagefind + flake check green
- tab panel was a div, so whitespace collapsing glued comments and
  commands into one wrapped line; now a <pre> (white-space: pre-wrap)
  with each comment on its own line above its command
- blank lines no longer render a stray '$ ' prompt
- new 'nix flake input' tab (no shell prompt — it's flake.nix code) on
  both the landing page and the installation docs
jingus merged commit 0dafbbb47d into main 2026-11-07 02:28:19 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
star/pages!1
No description provided.