Skip to content

feat: render Article and Talk pages with Astro - #498

Merged
jpoissonnet merged 2 commits into
feat/astro-scaffoldfrom
feat/astro-pages
Sep 30, 2026
Merged

jpoissonnet merged 2 commits into
feat/astro-scaffoldfrom
feat/astro-pages

Conversation

@jpoissonnet

@jpoissonnet jpoissonnet commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Preview

https://feat-astro-pages.dsvmt7xpjktgx.amplifyapp.com

Stacked on #497. Production stays on Jekyll.

Summary

  • Base.astro ports the Jekyll head, navbar and footer: the dark-mode script, Matomo (skipped on previews via SITE_PREVIEW, like JEKYLL_ENV=preview), the SEO, Open Graph, Twitter and JSON-LD tags, the RSS link, and <html lang>.
  • src/styles/site.scss overrides the three font paths and imports _sass/type-on-strap.scss unchanged. Its Sass deprecation warnings are silenced, and Lightning CSS strips the old IE *zoom hacks it cannot parse.
  • [...slug].astro builds every Article and Talk at its permalink. build.format: 'file' writes the same files as Jekyll (a/b and a/b.html both become a/b.html). Talks keep the YouTube, Slideshare and event blocks of the video and conference layouts, and previous/next navigation stays per collection.
  • [...redirect].ts writes each redirect_from page at its exact path, with the same HTML as jekyll-redirect-from.
  • remark-kramdown.mjs handles the two kramdown features still in use: {:target="_blank"} after links (56, in 5 Articles) and {:toc} (3 Articles). Heading ids use GitHub slugs, like Jekyll's GFM parser.
  • Markdown goes through @astrojs/markdown-remark (unified), since Astro 7's default processor doesn't run remark plugins.
  • Future-dated entries are hidden in production and shown on previews, like Jekyll's --future.
  • _articles/2024-11-12-golab-florence.md: a blank line before a --- that CommonMark read as a heading underline, where kramdown read a horizontal rule.

Known differences from production, on purpose or for later:

  • Code blocks use Astro's default Shiki theme without the Rouge styling until PR 4.
  • Inline author: objects (old Tumblr posts) now show the author name, where Jekyll rendered empty spans.
  • The footer says "Powered by Astro".

Test plan

  • Local build: all 337 permalinks and 18 redirects exist at the path Jekyll writes.
  • Local build against production, all 337 pages: same heading ids, same images, no new broken #anchor, no literal {:...}.
  • Screenshots on the Amplify preview: the first screen of /data/2017/10/23/genesis-of-m6-datalake.html and the Talk page are pixel-identical to production.
  • Preview: /data/2017/10/23/genesis-of-m6-datalake.html
  • Preview: Tumblr-era /post/23664141031/lancement-du-blog-technique-dm6web (with and without .html)
  • Preview: a Talk, /2013/10/distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.html
  • Preview: a redirect, /hsdo/
  • Preview: navbar icons and fonts load, dark mode toggles

@jpoissonnet
jpoissonnet removed the request for review from mickaelalvs September 30, 2026 08:45
@jpoissonnet
jpoissonnet merged commit e8889d7 into master Sep 30, 2026
3 checks passed
@jpoissonnet
jpoissonnet deleted the feat/astro-pages branch September 30, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants