Skip to content

feat: render the listing pages, 404 and Atom feed with Astro - #499

Merged
jpoissonnet merged 2 commits into
feat/astro-pagesfrom
feat/astro-listings
Sep 30, 2026
Merged

jpoissonnet merged 2 commits into
feat/astro-pagesfrom
feat/astro-listings

Conversation

@jpoissonnet

@jpoissonnet jpoissonnet commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Preview

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

Stacked on #498. Production stays on Jekyll.

Summary

  • Homepage and /blog/pageN/ (10 Articles per page, same pagination and excerpts as jekyll-paginate). An excerpt is the front matter excerpt, or the Markdown before excerpt_separator (default: the first paragraph) with the Article's link and footnote definitions, like Jekyll.
  • /lft/, /meetups/ and /tags/, rebuilt from the Talks, Articles and _data/topics.yml. /tags/ lists topics only; the page tags Jekyll also listed (Page, oss, open source) are dropped.
  • /jobs/ and /oss/ are the pages/*.md content with a Page.astro layout.
  • 404 and /feed.xml (Atom, 10 newest Articles, same ids, links, dates and summaries as jekyll-feed).
  • build.format: 'preserve', so /x/ pages are written as x/index.html, and Articles and Talks still land on a/b.html.
  • Entries with the same date are sorted by file path, like Jekyll, so listings match production order.
  • Typography matches kramdown: -- is an en dash.
  • Content: CommonMark keeps reading raw HTML after <br>, <hr> or </figure> until a blank line, reads * followed by 5 spaces as the start of a code block, and needs a header row in tables. 9 Articles get a blank line, a single space after the list marker, or an empty header row. These render the same with kramdown.

Known differences from production:

Test plan

  • Local build: every listing link (homepage, /blog/page2/–/blog/page22/, /lft/, /meetups/, /tags/, /oss/, /jobs/) matches production, except the differences above.
  • Local build: no Markdown left as literal text that production renders, over all 337 pages.
  • Local build: /feed.xml is valid XML with the same entries as production.
  • Screenshots on the Amplify preview: the first screen of the homepage, /blog/page2/, /lft/, /meetups/, /oss/ and an Article is pixel-identical to production; /tags/, /jobs/ and /404.html differ only by the dropped page tags and the footer.
  • Preview: /lft/, /meetups/, /tags/, /oss/, /jobs/, /blog/page22/ respond with the right titles
  • Preview: /404.html shows the 404 page. Unknown URLs show the homepage, because the Amplify app rewrites every 404 to /index.html; GitHub Pages serves 404.html.
  • Preview: /feed.xml serves 10 entries

@jpoissonnet
jpoissonnet merged commit d9954d2 into master Sep 30, 2026
3 checks passed
@jpoissonnet
jpoissonnet deleted the feat/astro-listings 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