Astro Site
The public RuForge site in website/ is Astro 5 static output, deployed to Cloudflare Pages.
Astro owns the landing page, changelog, roadmap, legal markdown pages, and docs routes. Most layout is .astro components; interactive bits (header mega-menu, hero underline) hydrate as React islands with client:visible or client:load.
Docs IA is data-driven. sitePages.ts registers template pages; built-with tools add a dedicated route at website/src/pages/docs/built-with/[tool].astro that reads copy from builtWithPages.ts. Section indexes under [section]/index.astro list siblings from the same registry.
Built-with pages pull live repo snippets at build time: readCodeSnippet.ts slices real source from one directory up (repo root), Shiki highlights them, and CodeSnippetPanel renders collapsible blocks. No hand-copied code in markdown.
Build output is static HTML/CSS/JS (astro build). No server on Pages. The site version badge tracks app semver but the site can ship on its own cadence.
In the repo
Where it shows up
-
website/astro.config.mjswith@astrojs/reactand Tailwind Vite plugin -
website/src/pages/includingdocs/built-with/[tool].astro -
BuiltWithPageTemplate.astro,ContentPageTemplate.astro,BaseLayout.astro -
website/src/lib/builtWithPages.tspage copy and snippet registry