feat: add author pages at /author/:authorSlug with clickable author names in posts

Add author archive pages displaying all posts by a specific author, following
  the existing tag pages pattern. Author names in post headers are now clickable
  links that navigate to the author's page.

  Changes:
  - Add by_authorName index to posts table (convex/schema.ts)
  - Add getAllAuthors and getPostsByAuthor queries (convex/posts.ts)
  - Create AuthorPage.tsx component with list/cards view toggle
  - Add /author/:authorSlug route (src/App.tsx)
  - Make authorName clickable in Post.tsx for posts and pages
  - Add author link and page styles (src/styles/global.css)
  - Add author pages to sitemap (convex/http.ts)
  - Update documentation: files.md, TASK.md, changelog.md, changelog-page.md
  - Save implementation plan to prds/authorname-blogs.md
This commit is contained in:
Wayne Sutton
2026-01-01 00:05:10 -08:00
parent 1e759495eb
commit 1eaec05fec
18 changed files with 899 additions and 6 deletions

17
TASK.md
View File

@@ -2,15 +2,26 @@
## To Do
- [ ] Newsletter signup
- [ ] Draft preview mode
- [x] Link author name to author page with post list
- [ ] site confg add header icons
## Current Status
v2.2.2 ready. Homepage intro loading flash fix. Removed "Loading..." text from Suspense fallback in main.tsx and fixed Home.tsx conditional to render nothing while homeIntro query loads. Home intro content now appears without any visible loading state.
v2.3.0 ready. Author pages feature. Links authorName to `/author/:authorSlug` archive pages displaying all posts by that author. Follows existing tag pages pattern.
## Completed
- [x] Author pages at `/author/:authorSlug` with post list
- [x] Added `by_authorName` index to posts table in convex/schema.ts
- [x] Added `getAllAuthors` and `getPostsByAuthor` queries in convex/posts.ts
- [x] Created AuthorPage.tsx component with view mode toggle (list/cards)
- [x] Added `/author/:authorSlug` route in App.tsx
- [x] Made authorName clickable in Post.tsx (links to author page)
- [x] Added author link styles and author page styles to global.css
- [x] Added author pages to sitemap in convex/http.ts
- [x] Updated files.md with AuthorPage.tsx documentation
- [x] Saved implementation plan to prds/authorname-blogs.md
- [x] Homepage intro loading flash fix
- [x] Removed "Loading..." text from Suspense fallback in main.tsx
- [x] Fixed Home.tsx conditional to render nothing while homeIntro query loads (undefined vs null)