# blog (/docs/showcase/templates/blog)

> A list of posts or letters, each with a tag, a dateline and a dek.



Use `blog` for any page that lists dated writing: a blog, a changelog, a letter archive. One `post-list` carries the posts, newest first, each linking to a `post` page. The list holds at most 24 posts; a longer archive pages across records.

## Sections in order

**Slot rules.**

Required and optional slots are not in 7.0.0-alpha.0. `PageSchema` accepts `"template": "blog"` and checks no slot; the order above is read from the records.

## Fields that matter

<details className="mx-sc-details">
<summary>Every field of post-list</summary>

</details>

## Starter record

**Using an agent? Paste this prompt**

```text
Read https://next.mdxui.dev/docs/showcase/templates/blog.md, then fetch https://next.mdxui.dev/pages/vanroster/changelog.json, a blog page that parses.
Run pnpm add @mdxui/site@7.0.0-alpha.0.
Rewrite its strings for my Business. Keep its Section types in their order; drop one only when my Business has nothing to say there.
Parse it with PageSchema.safeParse. When it refuses, shorten the content at the path it names, never the bound.
Render it with renderPage and save the HTML file.
```

## Other Templates

