Skip to content

feat(blog): add tag archive pages, related posts, and per-tag RSS feeds - #137

Open
Escelit wants to merge 1 commit into
wraith-protocol:developfrom
Escelit:feat/blog-tag-archives-131
Open

feat(blog): add tag archive pages, related posts, and per-tag RSS feeds#137
Escelit wants to merge 1 commit into
wraith-protocol:developfrom
Escelit:feat/blog-tag-archives-131

Conversation

@Escelit

@Escelit Escelit commented Aug 25, 2026

Copy link
Copy Markdown

Closes #131

Summary

Implements #131 — triples internal linking surface on the blog via tag archives, related posts, and per-tag RSS feeds.

  • Tag archive route/blog/tag/:slug lists every post carrying that tag, most recent first, and links its per-tag feed.
  • Related posts block on single-post pages picks up to 3 posts by highest tag overlap, excluding the current post.
  • Per-tag RSSscripts/gen-rss.mjs now emits /feed/tag/:slug.xml for every tag alongside the global /feed.xml. Each blog post references a per-tag <link rel="alternate"> for each of its tags; the archive references its own.
  • Sitemap — both scripts/sitemap.ts (build) and scripts/gen-sitemap.mjs now include every /blog/tag/:slug URL.
  • Added two MDX posts so the (MDX-only) blog corpus has overlapping tags for the archive/related features to be real.

Test plan

  • pnpm format:check, pnpm lint:i18n, pnpm test:a11y, pnpm build all pass locally (CI build job steps).
  • src/__tests__/blog.test.tsx and src/__tests__/rss.test.ts cover tag resolution, related-posts overlap/exclusion, tag archive rendering, and per-tag feed generation.
  • Generated public/feed/tag/*.xml and sitemap.xml verified to include all 6 tag archives.

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

@Escelit is attempting to deploy a commit to the truthixify's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 25, 2026

Copy link
Copy Markdown

@Escelit Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@truthixify

Copy link
Copy Markdown
Contributor

Thanks @Escelit. Conflicts on src/pages/Blog.tsx against #136, which landed reading-time and the TOC.

Suggest holding this one until #138 merges, then rebasing. I left the reasoning on #138: your three blog PRs all touch this file, so landing them in a fixed order means one rebase each instead of repeated ones.

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.

Blog related posts, tag archive pages, per-tag RSS

2 participants