Skip to content
Ryan Christensen
Go back

The stack behind this site

Edit page

This site starts with a deliberately small constraint: publishing a note should feel closer to saving a text file than operating a content platform.

That led to a static stack with very few moving parts.

LayerChoiceJob
Site generatorAstroTurns content and components into static HTML
ThemeAstroPaperSupplies an accessible, content-first foundation
ContentMarkdown and MDXKeeps writing portable while allowing components when useful
SearchPagefindBuilds a browser-side search index after the site renders
DeliveryGitHub Actions and PagesBuilds and publishes every change to main

Markdown first, MDX when it earns its place

Most notes can stay plain Markdown. MDX is available for the cases where a small Astro component communicates something better than prose alone. The table above is one example: it is still authored as Markdown, but wrapped in a responsive component.

Search without a service

Pagefind runs after Astro finishes the production build. It indexes the final HTML and emits a compact search bundle alongside the site, so search needs no database, account, or long-running process.

A visible deployment path

The repository’s GitHub Actions workflow installs from the lockfile, performs a production build, uploads the generated artifact, and deploys it to GitHub Pages. The workflow is the deployment runbook: there is no separate dashboard configuration hiding the build command.

Note

The custom-domain DNS change is intentionally separate from the code deployment. That keeps the current endpoint untouched until the new build and its rollback path have both been checked.


Edit page
Share this post: