This Site
This is a risograph zine that thinks it's a game cartridge shelf. Two spot inks, set by the season; newsprint by day, black stock by night; type that's either colossal or pixels.
Purpose
Personal website for ewancroft.uk, using AT Protocol repositories and open publishing formats as its content and identity layer.
First launched in 2023.
Privacy
No first-party analytics, advertising scripts, tracking pixels or cookies are used. Standard request metadata may be processed by Vercel to deliver and protect the service. Public AT Protocol records and external media may be fetched to render content. Signing in to comment uses AT Protocol OAuth in your browser; nothing is stored on my servers.
- Analytics
- None declared.
- Cookies
- No first-party cookies are set. The ambiance toggle is remembered in localStorage, and the comment sign-in flow briefly uses sessionStorage to return you to the post you were reading.
Rules
- Two inks, one black. Everything else is those three colours, overprinted with a screen or multiply blend so overlaps make a third. No gradients except the halftone dot screen a riso press actually makes.
- Cut, not rounded. Every corner is square. Circles exist only for the moon and the buttons that are meant to look punched.
- Colossal or pixel. Section words are printed at poster scale, cropped by the sheet; small text is Pixelify Sans, like a game's HUD.
- Nothing floats. No cards with shadows. Panels sit flat and are told apart by ink, rules and slight rotation.
- Stepped motion. Things arrive in steps, like a print run advancing, not eased like an app.
Type
Aa
Archivo (width axis pushed wide) carries every headline. Atkinson Hyperlegible Next — built for legibility, not for looks — carries the reading. Pixelify Sans is the game-UI voice: labels, metadata, buttons. JetBrains Mono is reserved for code.
Colour
- --paperPaper
- --paper-deepDeep paper
- --inkInk
- --riso-aInk one
- --riso-bInk two
Both inks are generated in OKLCH from the same seasonal hue the old site used — one direct, one ~150° round the wheel — so the whole site's palette turns with the Wheel of the Year.
The moon
Tonight: waning gibbous, at Mabon. Next sabbat: Samhain, in 32 days. The eight: Imbolc, Ostara, Beltane, Litha, Lughnasadh, Mabon, Samhain, Yule.
Built with
Framework
Design
Data
- AT Protocol
- Decentralised identity, repository and publishing layer.
- @ewanc26/atproto
- AT Protocol client and site content access library.
- unified, remark and rehype
- Markdown transformation and rendering pipeline.
- marked
- Markdown parsing.
- DOMPurify
- Sanitises rendered remote HTML and Markdown.
- Satori
- Generates dynamic Open Graph image layouts.
- resvg-wasm
- Renders generated Open Graph images.
Open source
The website code is open source and demonstrates AT Protocol-backed identity and publishing.
- Licence
- GNU AGPL 3.0
- primary
- Primary source repository. github
- mirror
- Decentralised repository mirror. tangled
- Content source
- Leaflet — Provides publication and document records rendered by the site.
- Backlink index
- Constellation — Supplies verification, comment, recommendation and backlink discovery.
- Content source
- teal.fm — Scrobble records behind the live listening widget.
Design sources
The open source underneath the design specifically, checked against the packages actually installed rather than the hand-written record above, which can lag behind what's running.
- Tailwind CSS
The utility-class reset and layer system everything else sits on top of.
- Fontsource
Self-hostable open-source fonts as npm packages — no Google Fonts CDN request on this site.
- Archivo
The display face — every headline and section word.
- Atkinson Hyperlegible Next
Commissioned by the Braille Institute of America specifically for letter-level legibility, not looks. Carries the reading.
- Pixelify Sans
The game-UI voice — labels, metadata, buttons.
- JetBrains Mono
Reserved for code.
- Lucide
The icon set behind the few plain glyphs on the site that aren't hand-drawn for it.
- Astro
Renders the whole site to HTML; the few interactive pieces are plain scripts inside it.
Operations
- Hosting
- Vercel · Vercel Edge Network · custom domain
- blog
- CC BY 4.0
Credits
Typography
- Archivo
Display face for headlines and section words.
- Atkinson Hyperlegible Next
Body face, designed for letter-level legibility.
- Pixelify Sans
Game-UI face for labels, metadata and buttons.
- JetBrains Mono
Monospaced face for code.
Interface
- Lucide
Source of the plain icon glyphs, such as the Wheel of the Year icons.
Seasonal System
- SunCalc
Astronomical calculations adapted for lunar phase presentation.
Seasonal Artwork
- Happy Mac
Decorative artwork used by the Ostara blog archive presentation.