feat(web): unified RSS feed at /feed.xml and /rss.xml

Merged
RI
4d ago
+525-23

Summary

Adds one RSS 2.0 feed on capgo.app that merges English blog posts, documentation updates, Capgo platform changelog releases, and Cap-go plugin GitHub releases. The feed is prerendered at build time and exposed in the site head, header, and footer.

URLs

  • Primary: https://capgo.app/feed.xml
  • Alias: https://capgo.app/rss.xml (same XML)
  • There was no existing /rss.xml or /feed.xml in this repo, so both paths serve the unified feed without breaking prior subscribers.

What goes into the feed

CategorySource
blogPublished human blog posts (locale: en) from the Astro blog collection
docsDocs MDX/MD under apps/docs/src/content/docs/docs, dated via lastUpdated frontmatter or file mtime
changelogLatest GitHub releases from Cap-go/capgo.app
releaseLatest GitHub release per Cap-go repo named capacitor-* or capacitor-updater from the plugin registry

Items are sorted by date (newest first), deduped by guid, and capped at 200 entries. Each item includes title, link, guid, pubDate, description, and <category>.

GitHub API behavior

  • Uses GITHUB_TOKEN, GH_TOKEN, or PERSONAL_ACCESS_TOKEN when set.
  • Fetches plugin releases with bounded concurrency; changelog repo pulls up to 40 releases.
  • On HTTP errors, rate limits, or timeouts, release fetching is skipped for affected repos so bun run build:web never fails because of GitHub.

Tests

  • apps/web/src/lib/unifiedRss.test.ts validates RSS structure and that all four categories can appear.
  • Wired into ci:verify:web via package.json.

Local build snapshot (200-item cap)

After bun run build:web, dist/feed.xml contained:

  • blog: 8
  • docs: 21
  • changelog: 40
  • release: 131

UI

Header and footer include visible links to /feed.xml. Every page gets <link rel="alternate" type="application/rss+xml" title="Capgo" href="https://capgo.app/feed.xml"> via SEO.astro.

Header and footer RSS links

Open in Web Open in Cursor 

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added a unified RSS feed at /feed.xml featuring blog posts, documentation updates, and GitHub releases.
    • Added RSS links to the site header and footer.
    • Kept /rss.xml available as an alternate feed URL.