Single-page static site deployed to GitHub Pages via a separate gh-pages branch.
site/: Source for the static siteindex.html: Main pagestyles.css: Site stylesscript.js: Minimal behaviorCNAME: Custom domain configuration (pauseai.uk)
.github/workflows/deploy.yml: Optional manual deployment workflow to publishsite/togh-pages.
npm run dev # starts a hot-reload server at http://localhost:8080
npm run lighthouse # run Lighthouse against the live site (pauseai.uk)
npm run lighthouse:dev # run Lighthouse against the local dev serverNo build step is required — site/ is served as-is.
Fonts are self-hosted for performance. The woff2 files in site/fonts/ are committed to the repo, so no action is needed after cloning.
They are sourced from the @fontsource-variable npm packages. To update to a newer font version:
npm install # update packages
npm run fonts:update # copy new woff2 files into site/fonts/The @font-face declarations in site/styles.css reference these files directly.
There are two ways to publish to gh-pages:
- Deploy script (recommended)
# From repo root
./scripts/deploy.sh # safe push (no force)
./scripts/deploy.sh --force # force push using split branch
# Options: --remote, --branch, --prefix, --allow-dirty- Manual subtree push (keeps deploy branch independent of
main)
# From repo root
git subtree split --prefix site -b gh-pages
# Push the generated branch to origin
git push -u origin gh-pages --force
# Optional: delete local temp branch
git branch -D gh-pages- GitHub Actions (manual trigger)
Run the "Deploy to GitHub Pages" workflow from the Actions tab. It publishes site/ to the gh-pages branch using the built-in GITHUB_TOKEN.
- Set Pages source to the
gh-pagesbranch (root). - Custom domain:
pauseai.uk(theCNAMEfile is included so it persists). - Point your domain’s DNS to GitHub Pages (ALIAS/ANAME or A records to GitHub and CNAME for
wwwif desired).