Source for cosmiccoding.com.au — Sam Hinton's personal site. Books, reviews, blog posts, tutorials, an artist corner, and a CV.
The site is a static build produced by Astro v5 with Svelte 5
islands for the interactive bits (reviews explorer, artists explorer, mobile
menu, code-toggle on tutorials). It deploys to GitHub Pages from master
via .github/workflows/gh-pages.yml.
It used to be a Hugo site. The migration is documented under plans/.
make install # installs casks, node deps, python deps via uv
make blog # `npm run dev` — local Astro dev server with HMR
make prod # clean build into `dist/`src/content/— Astro content collections (reviews/,blogs/,tutorials/).src/pages/— routes; dynamic[...slug].astrofiles render collection items.src/components/— Astro components, with Svelte islands undercomponents/islands/.src/data/— typed YAML-replacement data files (books, artists, podcasts, …).src/lib/— shared helpers (covers, content sorting, types, thefancy-card3-D effect).src/styles/— Tailwind v4 entrypoint plus plain-CSS partials, all imported frommain.css. The CSS-first@themeblock inmain.cssreplaces what used to live intailwind.config.cjs.src/assets/— images and SVGs that go throughastro:assetsfor hashing/optimisation.astro-public/— verbatim static files (favicons,CNAME, podcast thumbnails, CV PDF).content/— markdown sources. Tutorials are generated from notebooks viabuilder/convert.py.plans/— phase-by-phase migration plan, kept around for context.skills/— authoritative operational playbooks (book reviews, find-artists, humanizer, …).make installsymlinks these into.claude/skills/and.cursor/skills/.
- Drafting a new review — see
skills/book-review/. - Refreshing the cover-artist database from r/ProgressionFantasy — see
skills/find-artists/. - Editing review prose without sounding AI-generated — see
skills/humanizer/.




