Add feed page like reference site #151

Closed
opened 2026-06-19 18:49:13 -05:00 by erik · 4 comments
Owner

Goal

Add a public Slugkit feed page modeled after the feed page in ~/Private/code/github/evcraddock/erikcraddock.me/.

Requirements

  • Use the erikcraddock.me feed route as the reference, especially src/routes/pages.tsx.
  • Add a public /feed route to Slugkit.
  • Show a combined stream of published articles, links, and notes in reverse chronological order.
  • Make post types visually distinguishable in the feed.
  • Keep the existing RSS endpoint at /feed.xml working unchanged.
  • Use Slugkit's existing templates, CSS, route conventions, and post data model.
  • Support pagination or a clear “more posts” pattern if practical with existing utilities.
  • Add or update tests for the route and mixed-post listing behavior where practical.

Acceptance criteria

  • GET /feed renders a public web feed page.
  • The page lists published articles, links, and notes in reverse chronological order.
  • Article, link, and note entries are distinguishable.
  • GET /feed.xml still returns the RSS feed.
  • Existing public routes such as /, /posts/:slug, /articles, and /tags still work.
  • Relevant tests and local checks pass.

Dependencies

  • None
## Goal Add a public Slugkit feed page modeled after the feed page in `~/Private/code/github/evcraddock/erikcraddock.me/`. ## Requirements - Use the `erikcraddock.me` feed route as the reference, especially `src/routes/pages.tsx`. - Add a public `/feed` route to Slugkit. - Show a combined stream of published articles, links, and notes in reverse chronological order. - Make post types visually distinguishable in the feed. - Keep the existing RSS endpoint at `/feed.xml` working unchanged. - Use Slugkit's existing templates, CSS, route conventions, and post data model. - Support pagination or a clear “more posts” pattern if practical with existing utilities. - Add or update tests for the route and mixed-post listing behavior where practical. ## Acceptance criteria - [ ] `GET /feed` renders a public web feed page. - [ ] The page lists published articles, links, and notes in reverse chronological order. - [ ] Article, link, and note entries are distinguishable. - [ ] `GET /feed.xml` still returns the RSS feed. - [ ] Existing public routes such as `/`, `/posts/:slug`, `/articles`, and `/tags` still work. - [ ] Relevant tests and local checks pass. ## Dependencies - None
Author
Owner

Synced from todu comment by @todu on 2026-06-20T02:54:11.516Z

Update

  • Started implementation on branch feat/task-baf7f357-feed-page.
  • Plan: model Slugkit /feed directly on the erikcraddock.me feed page, keep /feed.xml unchanged, update tests, and preserve existing public routes.
_Synced from todu comment by @todu on 2026-06-20T02:54:11.516Z_ ### Update - Started implementation on branch `feat/task-baf7f357-feed-page`. - Plan: model Slugkit `/feed` directly on the `erikcraddock.me` feed page, keep `/feed.xml` unchanged, update tests, and preserve existing public routes.
Author
Owner

Synced from todu comment by @todu on 2026-06-20T02:59:25.714Z

Review update

  • PR: #159 is open and reviewed.
  • Result: approved; no blocking issues or warnings.
  • Verified: npm run build --workspace @slugkit/template-site, npm test --workspace @slugkit/template-site, ./scripts/pre-pr.sh, browser smoke testing for /feed, and Forgejo Actions run #219.
  • Acceptance: 6/6 criteria met.
  • Follow-up: waiting for explicit human merge approval.
_Synced from todu comment by @todu on 2026-06-20T02:59:25.714Z_ ### Review update - PR: https://forge.caradoc.com/erik/slugkit/pulls/159 is open and reviewed. - Result: approved; no blocking issues or warnings. - Verified: `npm run build --workspace @slugkit/template-site`, `npm test --workspace @slugkit/template-site`, `./scripts/pre-pr.sh`, browser smoke testing for `/feed`, and Forgejo Actions run #219. - Acceptance: 6/6 criteria met. - Follow-up: waiting for explicit human merge approval.
Author
Owner

Synced from todu comment by @todu on 2026-06-20T03:16:25.363Z

Review update

  • Follow-up feed visual changes were applied and pushed to PR #159.
  • Fixed tag alignment in feed meta rows.
  • Linked feed credit contacts to /contacts/:id.
  • Added article and link preview images from post Markdown/source image data.
  • Verified: npm run build --workspace @slugkit/template-site, targeted public route test, ./scripts/pre-pr.sh, browser smoke test for /feed, and Forgejo Actions run #220.
  • Follow-up: waiting for explicit human merge approval.
_Synced from todu comment by @todu on 2026-06-20T03:16:25.363Z_ ### Review update - Follow-up feed visual changes were applied and pushed to PR #159. - Fixed tag alignment in feed meta rows. - Linked feed credit contacts to `/contacts/:id`. - Added article and link preview images from post Markdown/source image data. - Verified: `npm run build --workspace @slugkit/template-site`, targeted public route test, `./scripts/pre-pr.sh`, browser smoke test for `/feed`, and Forgejo Actions run #220. - Follow-up: waiting for explicit human merge approval.
erik 2026-06-19 22:28:50 -05:00
Author
Owner

Synced from todu comment by @todu on 2026-06-20T03:23:48.384Z

Closing summary

All acceptance criteria are met.

  • GET /feed renders a public web feed page modeled on the erikcraddock.me feed page.
  • The feed lists published articles, links, and notes in reverse chronological order, with route test coverage using controlled timestamps.
  • Article, link, and note entries are visually distinguishable with type-specific rendering and badges.
  • GET /feed.xml remains unchanged and RSS tests still pass.
  • Existing implemented public routes are covered by the full pre-PR suite; /articles remains separate active task scope and was not changed here.
  • Verification passed: npm run build --workspace @slugkit/template-site, npm test --workspace @slugkit/template-site, targeted public route tests, ./scripts/pre-pr.sh, browser smoke testing for /feed, and Forgejo Actions run #220.

PR #159 was merged into main after explicit human approval.

_Synced from todu comment by @todu on 2026-06-20T03:23:48.384Z_ ### Closing summary All acceptance criteria are met. - `GET /feed` renders a public web feed page modeled on the `erikcraddock.me` feed page. - The feed lists published articles, links, and notes in reverse chronological order, with route test coverage using controlled timestamps. - Article, link, and note entries are visually distinguishable with type-specific rendering and badges. - `GET /feed.xml` remains unchanged and RSS tests still pass. - Existing implemented public routes are covered by the full pre-PR suite; `/articles` remains separate active task scope and was not changed here. - Verification passed: `npm run build --workspace @slugkit/template-site`, `npm test --workspace @slugkit/template-site`, targeted public route tests, `./scripts/pre-pr.sh`, browser smoke testing for `/feed`, and Forgejo Actions run #220. PR #159 was merged into `main` after explicit human approval.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit#151
No description provided.