Skip to content

Migrate to Astro with the AstroPaper theme - #2

Merged
srleach merged 2 commits into
mainfrom
astro-paper
Nov 9, 2026
Merged

srleach merged 2 commits into
mainfrom
astro-paper

Conversation

@srleach

@srleach srleach commented Nov 9, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the Jekyll site with AstroPaper v7.1.0 on Astro. Follows #1, which merged before this work was pushed.

  • Content carried over: both posts, the about page (ExaDev, contact via exadev.io) and the home intro.
  • Decoder: spa-decoder.js is served from public/ at the same URL. It now also mounts after Astro's client-side navigation. Its styles moved to public/assets/css/spa-decoder.css and use the theme's colours.
  • New from the theme: search (Pagefind), tags, archives, light/dark toggle, table of contents, generated social images, RSS at /rss.xml.
  • Old URLs: the CAN bus post's old address redirects to /posts/can-bus-hacking/, and /feed.xml is kept as an alias of /rss.xml. /blog/ and the hot tub post's Jekyll URL (live since Modernise site: new layouts, blog section and about page #1) are not redirected.
  • Deploy: .github/workflows/deploy.yml builds on every PR and deploys main to GitHub Pages.
  • Also includes the small post fix that missed Modernise site: new layouts, blog section and about page #1: spa2mqtt docs links point at seanrleach.co.uk/spa2mqtt/.

Before merging

Switch the Pages source to GitHub Actions (Settings > Pages > Build and deployment > Source). If this merges while the source is still "Deploy from a branch", Pages will try to build the repo with Jekyll and the site will break.

Theme safety check

  • Source is satnaing/astro-paper at tag v7.1.0 (commit 2e8bcbe), the repo the Vercel template page links to. MIT licensed; licence kept as LICENSE-astro-paper.
  • No analytics, trackers or remote scripts in the theme source. No install scripts of its own; pnpm only allows build scripts for esbuild and sharp.
  • Every dependency resolves from the npm registry with an integrity hash.
  • pnpm audit: 3 moderate advisories, in lint and CSS build tooling. None of it ships to the browser.
  • The build downloads Google Sans Code from Google Fonts and self-hosts it, so visitors make no third-party requests.

Test plan

  • pnpm build (type-check, build, search index) and pnpm lint pass locally
  • Home, posts, about, search, both posts, the legacy redirect and /feed.xml return 200 from pnpm preview
  • Check the pages and the decoder widget in a browser

🤖 Generated with Claude Code

srleach and others added 2 commits November 9, 2026 20:20
Co-Authored-By: Claude <noreply@anthropic.com>
Replace the Jekyll site with AstroPaper v7.1.0 (MIT, licence kept in
LICENSE-astro-paper). Posts, the about page and the home intro carry
over; the spa decoder is served from public/ and mounts on Astro's
client-side navigation.

- Deploy with GitHub Actions (.github/workflows/deploy.yml); the Pages
  source must be switched to GitHub Actions when this merges.
- Keep old URLs working: a redirect page for the CAN bus post and
  /feed.xml as an alias of /rss.xml.

Co-Authored-By: Claude <noreply@anthropic.com>
@srleach
srleach merged commit ec61f15 into main Nov 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant