docs

~/docs/getting-started

Installation

Install, run locally, and deploy in under five minutes.

on this page

Requirements

  • Node.js 22.12 or newer
  • npm (pnpm and bun work too — the commands below use npm)

Set up

Unzip the theme (or clone your copy of the repository), then from inside the folder:

Terminal window
npm install
npm run dev

Open http://localhost:4321. Edits to content, config and styles hot-reload.

Scripts

Script Purpose
npm run dev Development server with hot reload
npm run build Production build → dist/
npm run preview Preview the production build
npm run check Type-check (astro check)
npm run lint ESLint
npm run format Prettier

Deploy

The build is fully static — no server, no environment variables. Deploy dist/ anywhere.

GitHub Pages: a workflow is included at .github/workflows/deploy.yml. Set Settings → Pages → Source to GitHub Actions and push to main. The workflow detects the repository name and passes it as the base path, so project sites (https://<user>.github.io/<repo>/) work without any changes — links, wallpapers, fonts and Markdown images included. User sites and custom domains get /.

Netlify / Vercel / Cloudflare Pages: build command npm run build, output directory dist. A public/_headers file with sensible caching and security headers is included; Netlify and Cloudflare Pages pick it up automatically.

Set `url` in `src/config/site.ts` to your production domain before deploying — it is used for canonical URLs, Open Graph images, the sitemap, and the RSS feed.

Optional: the merged-PR counter

The homepage “open source” section can show a live count of your merged upstream pull requests. Set openSource.githubUser in site.ts; the count is fetched once per build from the GitHub search API. Set a GITHUB_TOKEN secret in CI to avoid rate limits (the included workflow passes the default token automatically). If the request fails, the configured mergedCount is shown instead.