Blog System

How the blog content system works in this repo.

The blog is backed by the CMS abstraction and the file content in apps/web/content/posts.

Current Shape

  • route: /blog
  • content directory: apps/web/content/posts
  • CMS schema: packages/cms/keystatic/src/keystatic.config.ts

Important Repo Detail

The current docs should not assume a built-in /keystatic route or auto-generated /blog/rss.xml route. Neither is shipped in apps/web/app.

Frontmatter and Schema

Use the Keystatic schema as the source of truth for post fields. Do not rely on older examples that mention fields such as featured or showOnLandingPage unless you add them to the schema yourself.

  • apps/web/app/[locale]/(public)/blog/page.tsx
  • apps/web/app/[locale]/(public)/blog/[slug]/page.tsx
  • apps/web/content/posts
  • packages/cms/keystatic/src/keystatic.config.ts