Conversation
adee098 to
120fbb9
Compare
|
TBH we don't do very much with the website apart from edit a coulple of pages at release time. I'll look at how this might benefit us. |
|
I've looked through this carefully. The framework part (e.g. description of menus) doesn't seem simpler than the current one. The content is the same (markdown), just moved. The existing site works and has been no trouble, while change brings at least the risk of work. The CI failure is irrelevant as it is all false alarms from So I don't see a compelling case to change, sorry. I hope this wasn't a lot of work to convert. (Thanks for thinking of us.) |
|
Thanks for looking through it carefully, and it was a fun exercise regardless. The one thing I'd push back on is "the existing site works and has been no trouble." I think that's true by default rather than by choice, and that's the whole case. It isn't really an Astro argument. master has no deploy workflow, so it relies on Pages' built-in Jekyll build from the github-pages gem. That gem's last release was 2024-08-06, it pins Jekyll 3.10 and never moved to Jekyll 4, and GitHub shut down the legacy pagesworker on 2024-06-30 — the Jekyll build runs through Actions now even for branch deploys. GitHub's own docs picked up a callout saying "Jekyll is no longer being updated, and Actions is better for most use-cases" (docs#39148, after the Pages team signed off). I can also make a preview URL to test the changes, but there really shouldn't be any regressions. I will also rebase on the latest changes from master. |
Summary
Rewrites the Jython website from Jekyll (Ruby) to Astro, using the official
create astroscaffold. The generated site is functionally identical — same pages, same URLs, same look — but the toolchain is more modern, faster, and much easier to work with.Why
bun install && bun run devgets a contributor up and running — no Ruby, no Bundler, no gem version pinning. The old setup required matching a specific Ruby version just to build locally.Before / After
What changed
src/pages/*.md— the 11 content pages (Markdown + layout frontmatter)src/layouts/BaseLayout.astro— header, nav, footer, and SEO meta (ported from_layouts/default.html)src/components/Navbar.astro+src/data/navbar.ts— dropdown navigation (ported from_includes/navigation.html+_data/navbar.yml)public/(CNAME,.well-known/atproto-did, images, and the existing slate theme CSS).astro.config.mjs(site: https://www.jython.org,build.format: 'file'to preserve existing.htmlURLs,github-lightcode highlighting)..github/workflows/deploy.ymlusing the officialwithastro/actionto build and publish to GitHub Pages onmaster.bun.lockso deployments are reproducible._config.yml,_data/,_includes/,_layouts/,Gemfile,Gemfile.lock,_site/,assets/, and the root-level.mdfiles now living insrc/pages/.README.mdwith the new build/dev instructions.Notes
index.mdandjyspecific.mdpreviously used Liquid data lookups (site.data.book,site.data.pydoc); these were resolved to their literal URLs to avoid adding the MDX integration./download,/news, etc. all still resolve).How to test