How to deploy the ABS website to GitHub Pages.
The ABS website is a Next.js static site. A push to main triggers the deploy automatically via GitHub Actions. Here's how it's set up and how to maintain it.
git push main (website/** changed)
│
▼
.github/workflows/deploy-website.yml
│
├─ Checkout repo
├─ npm ci
├─ next build → website/out/
├─ Upload Pages artifact
└─ Deploy to GitHub Pages
│
▼
https://fvinciarelli.github.io/abs
next.config.mjsconst nextConfig = {
basePath: '/abs', // Serves from /abs (project page), not /
output: 'export', // Static HTML — no Node server
images: { unoptimized: true },
typescript: { ignoreBuildErrors: true },
};
Go to Repo → Settings → Pages → Source: "GitHub Actions". This is set once and never touched again.
cd website
npm run dev # http://localhost:3000/abs
# or build and serve static output:
npm run build
npx serve out
fvinciarelli.github.ioRepo → Settings → Pages → Custom domainbasePath: '/abs' from next.config.mjs| Symptom | Fix |
|---|---|
Blank page at /abs | basePath is wrong. Check next.config.mjs. |
| 404 on subpages | Verify output: 'export' is set — every route generates a real .html file. |
| Build timeout | Cold build takes ~60s. Increase job timeout in the workflow if needed. |
| Mermaid diagrams blank | Diagrams render at build time. Check browser console for errors. |