Colophon
How this site is built, compressed, and shipped.
Updated
Built with
- Astro — static-first, ships almost no JavaScript. Every page is pre-rendered to HTML at build time.
- Started from amazing the astro-scholar theme, heavily reworked since.
- Content is Markdown/MDX. Code blocks are highlighted at build time with Shiki (
github-light/gruvbox-dark-medium), and GitHub-style alerts become callouts viarehype-github-alerts. - Full-text search is powered by Pagefind, which indexes the built site as a post-build step — no search server required.
- An RSS feed and a sitemap are generated on every build.
Images & performance
- Every raster image is compressed to WebP with sharp, targeting quality 85.
- Author and software-logo avatars are fetched from Github once at build time, converted to WebP (and cached in
public/avatars/so later builds skip the download). - Social / Open Graph cards are generated on the fly: an HTML template is turned into an SVG with Satori, rasterised with resvg, then encoded to WebP with sharp — served straight from a
.webproute. - Stylesheets are inlined into the HTML to cut render-blocking requests.
Typography
- Main titles are set in Epical Comeback, a fancy display serif.
- Sub-titles uses Agina
- Body text Atkinson Hyperlegible for sans-serif UI.
- All fonts are self-hosted and preloaded.
Deployment
- Hosted on GitHub Pages at arthurbrugiere.fr.
- Every push to
maintriggers a GitHub Actions workflow:- it installs dependencies with
npm cion Node 24, - runs the Astro build,
- post-processes the HTML with
html-link-action- adding
nofollow/noopener/noreferrer/target="_blank"to external links - stripping tracking parameters
- checking for broken links
- etc.
- adding
- it installs dependencies with
- The built site is published to the
gh-pagesbranch, and deployed automatically
Elsewhere
- Source and history live on GitHub.