Colophon
The writing lives on WordPress.com. This site is a second edition of the same posts, set for reading.
- WordPress.comwriting and editing
- REST APIposts as JSON
- Next.js on Vercelprerendered pages
- This pagestatic HTML
How it works
Every piece is written, edited and published at absorbedinwords.wordpress.com. Nothing is copied or edited here. WordPress.com acts as a headless content management system: its public REST API returns the posts, pages, categories and comments as JSON, without needing a login.
This site is a Next.js application using the App Router and React Server Components. All requests to WordPress.com go through one small typed module. The post HTML is cleaned on the server before it is rendered: sharing and like buttons are removed, inline styles are dropped, links to old WordPress.com addresses are pointed at their pages here, and images stay on WordPress.com’s servers, loading lazily.
The site is hosted on Vercel. Every page is prerendered when the site is built, then refreshed with incremental static regeneration: a page is rebuilt in the background at most once every ten minutes, so something published on WordPress.com appears here without a new deployment. If WordPress.com cannot be reached, the last good version of each page keeps being served.
Comments are shown as they appear on WordPress.com and are read-only here. Each piece links back to its original, where the conversation can continue.
Type and design
Text is set in Newsreader, a typeface drawn for comfortable reading on screens, with titles in Instrument Serif. Lines are kept to about sixty-six characters. There are light and dark themes; the site follows your system setting unless you choose one.
Source
The code is public at github.com/markdavidgan/absorbedinwords. There is also an RSS feed, and the About page says who writes here.