# Blog System

> How the blog content system works in this repo.

*Canonical: https://makerkit.dev/docs/nextjs-prisma/marketing-pages/blog-system*

---

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.

## Related Files

- `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`
