This repository was archived by the owner on May 15, 2026. It is now read-only.
MKT-68: Add /blog index page with dynamic rendering - #11018
Closed
ghost wants to merge 6 commits into
Closed
Conversation
- Add gray-matter for frontmatter parsing - Create BlogPost type and zod schema for validation - Implement PT timezone helpers (getNowPt, parsePublishTimePt) - Implement content loading (getAllBlogPosts, getBlogPostBySlug) - Implement isPublished for request-time publish gating - Add validation for frontmatter and duplicate slugs - Create content/blog directory for markdown files Closes: MKT-67
…he Past Adds the first canonical blog post to validate the content pipeline: - Title: PRDs Are Becoming Artifacts of the Past - Slug: prds-are-becoming-artifacts-of-the-past - Status: published - Publish date: 2026-01-12 at 9:00am PT Content sourced from Office Hours S01E15 with Paige Bailey. Closes: MKT-73
- Create blog index page at /blog - Use force-dynamic for request-time publish gating - Require Node.js runtime for filesystem reads - Display posts with title, description, and date - Add empty state when no posts are published - Include tags display (up to 3) Closes: MKT-68
Author
All issues resolved. The missing
Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
Contributor
|
🚀 Preview deployed! Your changes have been deployed to Vercel: Preview URL: https://roo-code-website-dhigmg86i-roo-code.vercel.app This preview will be updated automatically when you push new commits to this PR. |
ghost
commented
Jan 27, 2026
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Contributor
|
@roomote fix failing tests |
Author
Fixed the reported issues. All local checks passed. |
Contributor
|
This was a Linear test, no need to merge |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related GitHub Issue
Linear issue: MKT-68
Roo Code Task Context (Optional)
View task on Roo Code Cloud
Description
Adds the
/blogindex page that lists published posts with request-time publish gating.Key implementation details:
export const dynamic = "force-dynamic"ensures publish gating is evaluated at request time (no caching)export const runtime = "nodejs"required for filesystem readsgetAllBlogPosts()from MKT-67 content pipelineBuild output shows dynamic rendering:
Test Procedure
pnpm -C apps/web-roo-code build/blogin dev:pnpm -C apps/web-roo-code dev/blog/[slug](requires MKT-69)Pre-Submission Checklist
Screenshots / Videos
N/A - requires full stack for visual testing
Documentation Updates
Additional Notes
Dependencies:
Enables:
/blog/[slug])Get in Touch
Via Roo Code Cloud task link above
Important
Adds a dynamic
/blogindex page with publish gating, using Node.js for filesystem reads and content validation./blogindex page inpage.tsxwith dynamic rendering usingexport const dynamic = "force-dynamic".export const runtime = "nodejs".getAllBlogPosts()incontent.tsto load and filter posts based on publish status.zodschema intypes.ts.BlogContentErrorclass incontent.ts.gray-mattertopackage.jsonfor parsing markdown frontmatter.prds-are-becoming-artifacts-of-the-past.md.index.tsto export new blog functions and types.This description was created by
for a273d37. You can customize this summary. It will automatically update as commits are pushed.