Skip to content

Add Podscript website (Astro Starlight, GitHub Pages) - #2

Merged
mikkel-bergmann merged 1 commit into
mainfrom
add-website
Jul 6, 2026
Merged

Add Podscript website (Astro Starlight, GitHub Pages)#2
mikkel-bergmann merged 1 commit into
mainfrom
add-website

Conversation

@mikkel-bergmann

Copy link
Copy Markdown
Owner

Summary

A website for Podscript — a marketing landing page plus the full docs — positioned "podcasts as code." Built with Astro + Starlight, deployed to GitHub Pages, living in-repo under site/.

Naming stays Podscript (unchanged); "DSL" never appears in public copy.

Architecture: single-source, generated docs

Mirrors the repo's existing single-sourcing (the docs-examples drift guard): docs/*.md, CHANGELOG.md, and examples/*.podscript remain canonical, and site/scripts/sync-docs.mjs generates the Starlight pages from them at build time (strips SPDX headers, lifts titles, rewrites internal links to site routes). Generated pages are gitignored — no duplication, and the site can never lag the spec.

What's included

  • Landing (site/src/content/docs/index.mdx): hero + tagline, the README example, a card-grid pitch (generation vs rendering, relational timing, LLM-authored, diff-able).
  • Docs (generated): Specification, Authoring cheatsheet, Glossary, Examples, Changelog — with sidebar nav.
  • Real .podscript syntax highlighting via a custom TextMate grammar (site/grammars/podscript.tmLanguage.json) registered with Starlight's Shiki.
  • Deploy workflow (.github/workflows/deploy-site.yml): build + publish to Pages on push to main.
  • Licensing: site code is MIT (LICENSES/MIT.txt + a site/** annotation in REUSE.toml); docs content stays CC-BY.

⚠️ One-time manual step required

For the deploy job to publish, enable Pages once: Settings → Pages → Source: "GitHub Actions." Until then the build succeeds but the deploy step will error. Once enabled + merged, the site is live at https://mikkel-bergmann.github.io/podscript/.

Validation

  • npm run build → 7 pages, no errors
  • Custom podscript highlighting confirmed in output (data-language="podscript" + colored keywords)
  • All internal links base-correct (/podscript/…); no raw .md links; hero/sidebar/content links resolve
  • Generated pages + node_modules/dist correctly gitignored
  • reuse lint: committed files 58/58 compliant · docs-drift guard: still green

Out of scope (future)

Interactive playground (no reference renderer yet), splitting the spec into per-section pages, a bespoke logo, custom domain.

🤖 Generated with Claude Code

A landing page plus full docs, positioned "podcasts as code". Keeps the repo's
single-source philosophy: docs/*.md, CHANGELOG.md and examples/*.podscript stay
canonical, and site/scripts/sync-docs.mjs generates the Starlight pages from them at
build time (generated pages are gitignored). Custom TextMate grammar gives real
`.podscript` syntax highlighting site-wide.

- site/: Astro + Starlight; landing (splash), synced Spec/Authoring/Glossary/Examples/
  Changelog, custom podscript grammar, base '/podscript' for project Pages.
- .github/workflows/deploy-site.yml: build + deploy to GitHub Pages on push to main.
- Licensing: site code is MIT (LICENSES/MIT.txt + REUSE.toml site/** annotation);
  reuse lint compliant (committed files 58/58).

Requires a one-time manual step: enable Pages (Settings -> Pages -> Source: GitHub
Actions) for the deploy job to publish.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mikkel-bergmann
mikkel-bergmann merged commit 2459b32 into main Jul 6, 2026
4 checks passed
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