Skip to content

feat(blog): add author pages and author frontmatter (#124) - #138

Open
Escelit wants to merge 1 commit into
wraith-protocol:developfrom
Escelit:feat/blog-author-pages
Open

feat(blog): add author pages and author frontmatter (#124)#138
Escelit wants to merge 1 commit into
wraith-protocol:developfrom
Escelit:feat/blog-author-pages

Conversation

@Escelit

@Escelit Escelit commented Aug 25, 2026

Copy link
Copy Markdown

Closes #124

Summary

Implements blog author pages (#124): maps MDX author frontmatter to src/data/authors.json, adds a /blog/author/:id route, links bylines to author pages, and collapses opted-out authors to "Wraith Team".

Changes

  • src/utils/blog.ts: Author/AuthorProfile types, getAuthorById, resolveAuthor, getPostsByAuthor; each post carries authorName/authorId.
  • src/pages/Blog.tsx: bylines link to /blog/author/:id for opted-in authors; new BlogAuthor page (avatar/initials, bio, links, post list) with graceful "Author Not Found" fallback for unknown ids.
  • src/App.tsx: /blog/author/:authorId route.
  • src/data/authors.json + authors-optout.json: seed authors (team opted-out, one opted-in contributor).
  • scripts/sitemap.ts: opt-in author routes.
  • scripts/gen-rss.mjs: resolve author ids to display names in the feed.
  • Added a second MDX post to exercise the author listing; updated docs and tests.

Acceptance

  • /blog/author/:id works for every opted-in author
  • Every post links its author byline to the author page (or "Wraith Team" if opted out)
  • Unknown author ids fall back gracefully (no 500, no crash)
  • Build passes (format + build hooks green, 14 routes; blog + rss tests green)
  • Sitemap/feed include author data (SEO)

)

- Map MDX author frontmatter to src/data/authors.json (name, bio, avatar, links, optIn)
- Add /blog/author/:id route listing posts by author, most recent first
- Link author bylines to the author page; collapse opted-out authors to 'Wraith Team'
- Gracefully handle unknown author ids (no 500, no crash)
- Include opt-in author routes in sitemap and resolve author names in RSS feed
@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. Worth coordinating this one, because you have three open PRs here (#137, #138, #140) and all three edit src/pages/Blog.tsx, so they will keep conflicting with each other no matter what order they land in.

Suggested order, rebasing each on the previous once it merges:

  1. feat(blog): add author pages and author frontmatter (#124) #138 (this one, author pages) first, since it changes src/utils/blog.ts frontmatter parsing that the others build on
  2. feat(blog): add tag archive pages, related posts, and per-tag RSS feeds #137 (tag archives, related posts, per-tag RSS)
  3. feat(seo): expand structured data with shared jsonld helpers (#126) #140 (structured data) last, because its BreadcrumbList covers the /blog/author/:id route that feat(blog): add author pages and author frontmatter (#124) #138 introduces

For this PR the conflicts are src/pages/Blog.tsx and src/utils/blog.ts against #136, which added reading-time and the TOC:

git fetch origin
git rebase origin/develop

Take the reading-time and TOC additions from develop and layer your author byline changes on top.

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 author pages + author frontmatter

2 participants