Source for the freemkv.org website — an Astro + Starlight site (landing splash + docs), deployed to GitHub Pages.
npm install
npm run dev # local dev server
npm run build # production build -> dist/
npm run preview # preview the built sitesrc/content/docs/index.mdx— landing splash (hero + Download CTA + feature cards)src/content/docs/*.md— documentation pages (Overview, Install, Quickstart, AACS & keydb.cfg, Components, autorip, License)astro.config.mjs— site config: title, logo, theme, and the docs sidebarsrc/assets/— logo/icon SVGs used in the UIpublic/— static files served at the site root:CNAME(freemkv.org),.nojekyll, favicon, og image
Deployment is automatic via GitHub Actions (.github/workflows/pages.yml):
- Push to
main. The workflow runsnpm ci && npm run buildand uploadsdist/as a Pages artifact, then deploys it. - One-time setup: in the repo's Settings → Pages, set Source to GitHub Actions (not "Deploy from a branch").
- The custom domain
freemkv.orgis set viapublic/CNAME, which Astro copies intodist/at build time. Confirm the domain shows under Settings → Pages after the first deploy.
public/.nojekyll disables Jekyll processing on Pages so Astro's _-prefixed asset
directories are served correctly.