Frontmatter
The fields a page may carry beyond title and description, and the two the build fills in.
Content stores only what a collection's schema declares, so this is the complete list — an undeclared field is dropped silently, before the sidebar or the search ever sees it.
What you write
| Field | Type | What it does |
|---|---|---|
title | string | Rendered as the page's <h1>, and its SEO and social title |
description | string | The page's summary — sidebar, cards, OG image, llms.txt |
icon | string | Shown beside the entry in the sidebar, the section row and cards |
navigation | boolean | false hides the page from the navigation |
layout | string | landing renders the page without the docs layout |
redirectFrom | string[] | Old URLs for this page — see Move a page |
date | string | When this page is dated, for the feed |
title and description are the two the build warns about when they are
missing. Neither breaks a page, and both quietly degrade the table of contents,
the social card and llms.txt.
title is rendered as the heading. A # heading at the top of the file is the
second <h1> on the page.
What the build fills in
| Field | Filled by | Holds |
|---|---|---|
lastUpdated | the git-meta module | The last commit that touched the file |
contributors | the git-meta module | Name, commit count and username, per author |
rawbody | the collection schema | The Markdown as written |
sitemap | the sitemap integration | What puts the page in /sitemap.xml at all |
Writing any of these by hand is pointless: the build overwrites them. Both git
fields need a real history, so a remote source needs history: true — see the
sources reference.
The file name carries two more things
- A numeric prefix orders the tree and is stripped from the URL:
3.guides/2.deploy.mdis served at/guides/deploy. Reordering never moves a URL. .draft.mdis a draft. It is served in the dev server and absent from the build. There is nodraft: true, because a collection's contents are declared before any file has been read — see Collections.