Skip to content
View Samreay's full-sized avatar

Organizations

@dessn

Block or report Samreay

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Samreay/README.md

cosmiccoding.com.au

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/, and the per-phase implementation skill lives at .cursor/skills/implement-plan/.

Quick start

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/`

make verify-all runs every phase verifier in .cursor/skills/implement-plan/scripts/phases/ against dist/; that is what gates a PR before deploy.

Layout

  • src/content/ — Astro content collections (reviews/, blogs/, tutorials/).
  • src/pages/ — routes; dynamic [...slug].astro files render collection items.
  • src/components/ — Astro components, with Svelte islands under components/islands/.
  • src/data/ — typed YAML-replacement data files (books, artists, podcasts, …).
  • src/lib/ — shared helpers (covers, content sorting, types, the fancy-card 3-D effect).
  • src/styles/ — Tailwind v4 entrypoint plus plain-CSS partials, all imported from main.css. The CSS-first @theme block in main.css replaces what used to live in tailwind.config.cjs.
  • src/assets/ — images and SVGs that go through astro:assets for hashing/optimisation.
  • astro-public/ — verbatim static files (favicons, CNAME, podcast thumbnails, CV PDF).
  • content/ — markdown sources. Tutorials are generated from notebooks via builder/convert.py.
  • plans/ — phase-by-phase migration plan, kept around for context.
  • .cursor/skills/ — operational playbooks (book reviews, find-artists, humanizer, implement-plan).

Operational playbooks

  • Drafting a new review — see .cursor/skills/book-review/.
  • Refreshing the cover-artist database from r/ProgressionFantasy — see .cursor/skills/find-artists/.
  • Editing review prose without sounding AI-generated — see .cursor/skills/humanizer/.

Pinned Loading

  1. ChainConsumer ChainConsumer Public

    Corner plots, LaTeX tables and plotting walks.

    Python 90 21

  2. Marz Marz Public

    The Marz redshifting program is intended for use in cosmology surveys, specifically for the OzDES team.

    JavaScript 19 22

  3. Refractorium Refractorium Public

    A Javascript 2D light transport simulator.

    JavaScript 1

  4. Samreay Samreay Public

    A place for me to put my projects, trips and other random thoughts.

    Jupyter Notebook 3