Colophon
A colophon is the part of a book that explains how it was made. On the web, it is the same idea: stack, hosting, and the small choices that keep a personal site honest.
This page is set in one typeface only (1776 Independence Bold, self-hosted) so the technical notes match what you see. Elsewhere on the site, headings still use Ballard Basic for contrast.
Stack
Eleventy (v3.x in this repo) turns Markdown and Nunjucks in src/ into static HTML in _site/. Templates live under src/_includes/; content is mostly Markdown with front matter. The RSS plugin @11ty/eleventy-plugin-rss powers the Atom feeds linked in the footer (/feed.xml plus per-stream feeds for articles, journal, bookmarks, and photos).
Pagefind runs after each build (eleventy.after in eleventy.config.js) and indexes the HTML output. Search lives at /search/ with UI styles in the same global stylesheet.
CSS is a single file, src/assets/css/style.css, copied to /assets/css/style.css. Colours and type scale are CSS custom properties on :root, with a light/dark theme chosen in the footer (stored in localStorage as being-pablo-theme, applied as data-theme on <html>). The document scrollbar is hidden on html for a cleaner edge; inner scroll areas (where they exist) keep their own scrollbars.
Favicons (favicon-16/32, apple-touch-icon) are resized from .pablo/bloodyskull.png via npm run brand:sync. The header logo is kito.png (from .pablo/kito.png). The stipple skull.png pipeline remains for /assets/images/skull.png only. Header: kito, nav, then bloody rule below the menu.
Icons are inlined SVG via Eleventy shortcodes: the icon shortcode pulls from an allow-listed set of Lucide files under src/assets/icons/lucide/; the glyph shortcode uses small custom SVGs in src/assets/icons/custom/.
Fonts: 1776 Independence Bold (1776-independence-bold.ttf) for body, UI, and (on this page) headings. Ballard Basic (BallardBasic.otf) for heading display on the rest of the site. Both are self-hosted under /assets/fonts/ with font-display: swap.
Build and checks: npm run build runs Eleventy; npm run verify runs the build plus scripts/verify-site.mjs (sanity checks on key routes and Pagefind output).
Hosting
The public site is GitHub Pages, deployed from the main branch via GitHub Actions (.github/workflows/deploy.yml): install dependencies, build, upload the _site artifact. The footer link to GitHub Pages is accurate.
IndieWeb
The site lives on pablo.space, which I control. The footer includes an h-card (with some fields only for parsers), rel="me" for profiles, and discovery tags for Webmention.io, Tinylytics (Webmention endpoint for kudos, beta), and Micropub (defaults point at my Indiekit instance; env vars in the build can override Micropub endpoints). There is an IndieWeb webring link in the footer.
Streams on the site include articles, journal notes, bookmarks, photos, likes, and replies, each with listing pages and feeds where applicable. Webmentions for posts are fetched at build time from Webmention.io when a token is configured; otherwise the block renders empty. Articles and journal notes also show kudos buttons powered by Tinylytics (embed script with ?kudos in the document head).
A guestbook template remains in src/ for experiments but is not part of the production build (listed in .eleventyignore), so there is no public guestbook URL.
Accuracy
Tool versions drift; the source of truth is package.json and eleventy.config.js. If something here disagrees with the repo, trust the repo.