# Content

The current content model has used `section = true` since version 0.10.0. The [0.10.0 changelog](/changelog/) is the migration off the old `_index` filenames.

A markdown file is a page. A directory with `index.md` or `index.toml` is a **bundle page** unless that index sets `section = true`. A bundle owns the files next to it. A **section** lists its child pages and does not absorb those siblings.

```toml
+++
title = "Articles"
description = "Notes and guides."
template = "section.tera.html"
section = true
+++
```

Useful front matter: `title`, `description`, `date`, `updated`, `template`, `draft`, `weight`, `hidden`, `slug`, `since`. `draft = true` hides the page in production. `hidden = true` on a section hides the whole subtree from listings, `sitemap.xml`, and `llms.txt`. The pages stay reachable by URL. Access control is [auth](/features/auth/), not `hidden`.

An article section sets `article = true` and lists posts. A post can split a summary from the rest of the body with `

`. Since version 0.13.0 the full page keeps the summary and inserts `<span id="continue-reading"></span>` at the split. Listings still use only the excerpt.

A `mermaid` fence renders as a diagram in browser HTML since version 0.15.0. Markdown and JSON keep the fence. See [templates](/features/templates/) for the script hook.

