all notes

How this site works

A static Astro site on GitHub Pages, publications that update themselves from ORCID, and a map that flies between the places I've lived.

#meta#astro#reproducibility

I wanted a site that behaves like the pipelines I build: reproducible, automated, and easy to re-run. Here’s how it fits together.

Plain files, built automatically

The site is built with Astro from plain files in a GitHub repository. Pages are Astro components; notes like this one are Markdown files. When I push a change, a GitHub Action builds the site and publishes it to GitHub Pages at chriswyatt.uk. There’s no server and no database.

Publications that keep themselves up to date

The publications page is generated from my ORCID record. A small Python script, the same one that builds my CV, pulls my works from ORCID, fills in the details from Crossref, and writes them to a JSON file. The build runs it every week, so a new paper added to ORCID shows up here without me touching anything.

The art is generated, not drawn

The synteny ribbons, the honeycomb and the dotted maps are all computed when the site is built:

  • Synteny ribbons come from three toy genomes related by a few inversions and translocations. They’re the same kind of figure my synteny pipeline produces, just with made-up data.
  • The honeycomb is a hexagonal grid that fills in as you scroll, one cell at a time.
  • The travel map is drawn from Natural Earth coastlines. As you scroll, it flies between the places I’ve lived, and the smaller dots are places I’ve starred on Google Maps (rounded to about 10 km, so no exact addresses).

And the wasps

The wasp is a hand-built SVG of a paper wasp. It only turns up in the wasp-themed sections: scroll through one and it flies across, turning to face the way it’s going (scroll back up and it turns round). It stays out of the way for anyone who has reduced motion turned on.