Personal website for Max Milne, built with Astro and deployed to Netlify.
- Production:
https://maxmilne.com - Source repo:
https://github.com/maxmilneaus/maxmilne.com - Hosting: Netlify
- Stack: Astro 5, TypeScript, Markdown content collections, Sass
This repository used to be a Jekyll site. The live site is now Astro. Anything under docs/Archive/ should be treated as historical reference only.
npm install
npm run devUseful commands:
npm run build
npm run preview
npm run generate:motionsrc/pages/route filessrc/content/notes/writing entriessrc/content/projects/project entriessrc/layouts/shared page shellssrc/components/nav, footer, enhancements, motion herosrc/styles/Sass partials and the global stylesheet entrypointsrc/scripts/lightweight client-side enhancementspublic/assets/published media filespublic/passthrough static filesstudiobrunswick/preserved legacy static subsitedocs/current project docs
Supporting but non-runtime folders:
Drafts/working notes and unfinished content_templates/authoring templates for new contentskills/andskills-lock.jsonlocal AI workflow helpers.*agent*,.claude/,.roo/,.vibe/, etc. local assistant config, not website source
- Homepage:
src/pages/index.astro - Standalone pages like About, Now, CV, Booking:
src/pages/*.md - Writing index and filters:
src/pages/writing/index.astro - Projects index and filters:
src/pages/projects/index.astro - Shared chrome and metadata:
src/layouts/BaseLayout.astro,src/components/Nav.astro,src/components/Footer.astro,src/site.ts - Visual system:
src/styles/main.scssplus the partials insrc/styles/
Notes live in src/content/notes/ and use the schema in src/content/config.ts:
titledatetagsexcerptpermalinkmotionTheme
Projects live in src/content/projects/ and use:
titleyeardescriptionordertags
Netlify is the production host.
- Build command:
npm run build - Publish directory:
dist
astro.config.mjs sets the canonical site URL to https://maxmilne.com.
Read in this order:
docs/README.mddocs/TECHNICAL/INDEX.mddocs/STYLE_GUIDE.mddocs/LOG/2026-03-14-astro-cleanup-and-docs-reset.md- The specific route, layout, or content file you plan to change
Assume:
- The Astro app under
src/is the source of truth dist/is disposable build outputdocs/Archive/is historical, not current guidance*.edtzfiles are editor temp artifacts, not canonical content