Skip to content

feat: changelog content type with RSS feed#27

Merged
DanFlannel merged 1 commit into
mainfrom
feat/rss-and-changelog
Jul 12, 2026
Merged

feat: changelog content type with RSS feed#27
DanFlannel merged 1 commit into
mainfrom
feat/rss-and-changelog

Conversation

@DanFlannel

@DanFlannel DanFlannel commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a dated changelog/release-notes content type — the last feature gap vs
Docusaurus. Design principle: entries ride the existing docs machinery rather
than a separate blog engine, so search, prerendering, OG cards, edit links,
and hydration all work with zero new plumbing.

Changelog — drop dated MDX files in content/changelog/:

  • Changelog tab (href-only, like API Reference) + newest-first listing at
    /docs/changelog with dated cards (title, date, description).
  • Entries are ordinary docs at /docs/changelog/<slug> — searchable,
    prerendered with OG cards, edit-on-GitHub linked — with the entry date shown
    in the breadcrumb. They stay out of the Documentation sidebar and the docs
    index (their tab owns discovery).
  • date frontmatter (ISO YYYY-MM-DD, quoted or unquoted — gray-matter's
    parsed Date objects are normalized) flows through the manifest.
  • RSS 2.0 feed at /feed.xml on deploys with VITE_SITE_URL set, newest
    first with RFC-1123 pubDates and absolute links; every page head advertises
    it via <link rel="alternate">. Cleanly absent (file and tag) without a
    site URL — same gating as the sitemap.
  • The listing prerenders through the existing pageHtml() with a synthetic
    manifest entry, so it gets a real title/canonical and a "Changelog" OG card
    for free.
  • Date rendering is pure string math ("Jul 10, 2026") — never
    Date/toLocaleDateString, whose UTC-midnight parsing shifts a day across
    timezones and would break hydration of prerendered pages.

Also in this PR:

  • Doc pages now prefer the frontmatter title over the filename-derived one in
    the breadcrumb and <title>/og:title ("v0.2.0 — …" instead of "V0 2 0").
  • Two real demo entries (v0.1.0, v0.2.0) dogfooding the feature, plus a
    Guides → Changelog authoring guide.
  • Fixed a stale "five built-in styles" → four in the introduction.

Type of change

  • New feature
  • Docs / content

Checklist

  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm format:check passes (run pnpm format to fix)
  • pnpm build succeeds
  • pnpm check:links passes
  • Docs/examples updated if behavior changed

Notes

  • e2e grew 21 → 25 tests: prerendered listing order, entry hydration (guards
    the TZ-free date rendering), sidebar/docs-index exclusion, and Pagefind
    discoverability of entries.
  • feed.xml is a generated artifact (gitignored, like the sitemap).
  • To hide the feature entirely: delete content/changelog/ and remove the tab
    from src/navigation.ts.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying capsa with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4da4f76
Status: ✅  Deploy successful!
Preview URL: https://022fdcdd.capsa-6ct.pages.dev
Branch Preview URL: https://feat-rss-and-changelog.capsa-6ct.pages.dev

View logs

@DanFlannel
DanFlannel merged commit 77369e9 into main Jul 12, 2026
3 checks passed
@DanFlannel
DanFlannel deleted the feat/rss-and-changelog branch July 12, 2026 14:00
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