You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#45 covers reviving blog posts as a content-typed gitsheets sheet (v1.2 markdown bodies, lazy body loading, full reader experience). That's substantial work and depends on the broader content-typed migration tracked in #44 — both scoped post-cutover.
The narrower problem: the existing laddr site has blog posts. Cutting over to next-v2 with no blog content visible is a regression at flip-time even though strictly nothing's broken. This issue is the minimum-viable bridge: import the content into a regular TOML sheet now so it's not lost or invisible.
Why this exists alongside #45
#45 covers reviving blog posts as a content-typed gitsheets sheet (v1.2 markdown bodies, lazy body loading, full reader experience). That's substantial work and depends on the broader content-typed migration tracked in #44 — both scoped post-cutover.
The narrower problem: the existing laddr site has blog posts. Cutting over to next-v2 with no blog content visible is a regression at flip-time even though strictly nothing's broken. This issue is the minimum-viable bridge: import the content into a regular TOML sheet now so it's not lost or invisible.
Scope (intentionally narrow)
BlogPostentity inpackages/shared/src/schemas/blog-post.ts. Fields per Revive blog posts as a content-typed gitsheets sheet (revises the deferred decision) #45's spec (id,legacyId,slug,title,summary,authorId,postedAt,editedAt,featuredImageKey,deletedAt,body,createdAt,updatedAt).bodystays as a string field in the TOML for now; Revive blog posts as a content-typed gitsheets sheet (revises the deferred decision) #45 migrates it to content-typed later..gitsheets/blog-posts.tomlin the data repo, regular path template${{ slug }}.toml.apps/api/scripts/import-laddr/translators.tswithtranslateBlogPost; wire into the importer flow.GET /api/blog-posts(paginated list, body included since not lazy-loaded) andGET /api/blog-posts/:slug(detail)./blogindex,/blog/:slugdetail. Render the body via the existing server-side markdown pipeline.specs/api/blog.md,specs/screens/blog-index.md,specs/screens/blog-detail.md; note the deferred follow-up to Revive blog posts as a content-typed gitsheets sheet (revises the deferred decision) #45 in each.Explicitly out of scope (lives in #45)
queryAll({ withBody: false }))