Skip to content

Port site from Jekyll to Astro - #116

Draft
adrianmg wants to merge 5 commits into
masterfrom
adrianmg-astro-migration-review
Draft

adrianmg wants to merge 5 commits into
masterfrom
adrianmg-astro-migration-review

Conversation

@adrianmg

Copy link
Copy Markdown
Owner

Summary

  • replace Jekyll 4.2, Ruby, Liquid layouts, and plugins with Astro 7 static output
  • preserve all public pages, post URLs, SEO/JSON-LD, Atom feed identities, sitemap, robots, redirect documents, redirects.json, analytics, assets, and frontend behavior
  • keep the site framework-free in the browser: no React integration, hydration, SSR, Netlify adapter, Astro islands, or client runtime
  • retain Satori/React only as build-time tooling for existing Open Graph cards
  • document Bun as an optional faster local script runner while keeping npm and package-lock.json authoritative for installs, CI, and Netlify

Validation

  • semantic parity against 21 production pages plus feed and sitemap
  • visual deltas below 0.5% across sampled desktop and mobile pages
  • 16 posts, 20 sitemap routes, 23 HTML files, legacy .html redirects, and public redirect metadata verified by the build contract
  • clean npm and Bun type-check/build paths pass
  • Open Graph generation reuses all 16 committed cards without fingerprint churn

Built output

Metric Jekyll Astro Delta
Files 146 146 0
Raw build 47,660,491 B 47,590,824 B -69,667 B
Public documents, Brotli 62,306 B 58,177 B -4,129 B

Cold request counts are unchanged on the homepage, blog, media-heavy post, and PewPew. Astro produces smaller HTML/XML, while existing images remain the dominant network weight.

Build time

  • npm warm build + contract: 1.56 s
  • Bun warm build + contract: 1.03 s
  • Jekyll warm baseline: 0.26 s

Bun remains optional and local-only; production keeps the established npm path.

Adrian Mato added 5 commits August 30, 2026 14:52
Preserve routes, metadata, Atom feed, redirects, assets, and frontend behavior while removing the Ruby build toolchain.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f130b99c-a139-4573-8cac-905ab48f83ca
Generate the original .html redirect pages and redirects.json, retain the public license, and extend the site contract to cover them.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f130b99c-a139-4573-8cac-905ab48f83ca
Keep npm and package-lock as the installation, CI, and Netlify contract while allowing Bun to run the same local scripts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f130b99c-a139-4573-8cac-905ab48f83ca
Keep Bun as an optional local script runner while preventing accidental Bun lockfiles from competing with package-lock.json.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f130b99c-a139-4573-8cac-905ab48f83ca
Allow new posts and custom artwork, share Astro Markdown output with Atom, validate sitemap coverage against built pages, and escape embedded JSON-LD. Add isolated authoring regressions and CI coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f130b99c-a139-4573-8cac-905ab48f83ca
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