WritedocsWritedocs

Page modes

Every page can set a frontmatter mode, controlling how much of the site’s own chrome (topbar, sidebar, table of contents) wraps it. Useful for pages that aren’t ordinary prose - a wide reference table, a standalone policy page, a hand-built homepage, an auth screen.

---
title: My Page
mode: wide
---
ModeTopbarSidebarTable of contentsArticle width
default (or omitted)yesyesyesnormal (~760px)
wideyesyesnowider (~1040px)
frameyesnononormal (~760px)
customyesnonofull width, no auto title, no prev/next
blanknononofull width, no auto title, no prev/next

wide

Drops the table of contents and widens the article column - useful for a page with a wide table, side-by-side images, or anything that feels cramped at the normal reading width. The sidebar and topbar are unchanged.

frame

Mintlify’s mode: center is accepted as another name for this mode. Mintlify’s own frame mode is different — see Migrating from Mintlify.

Drops the sidebar and table of contents, but keeps the topbar and the article’s own normal width/centering - “frame” as in the page still sits inside the site’s outer frame, just without the reading-navigation chrome on either side. Good for a standalone page that doesn’t belong in the sidebar’s hierarchy (a terms-of-service page, a single long guide linked from elsewhere) and doesn’t need its own table of contents.

custom

Drops the sidebar, table of contents, the automatically-rendered <h1> (built from frontmatter title), and the prev/next navigation at the bottom of the article. The article’s own prose width/padding is skipped too - full width, blank canvas below the topbar. The topbar itself stays, so branding, search, and the theme toggle are still available. Meant for a page built entirely out of components (Card, CardGroup, hand-written HTML/CSS) rather than read top-to-bottom like a document - a homepage or marketing landing page that’s still recognizably part of the site.

title is still used in custom mode - for the <title> tag, navigation labels, and meta tags - it’s just never auto-rendered as a heading on the page itself.

---
title: Welcome
mode: custom
---

<div style="max-width: 900px; margin: 0 auto; padding: 5rem 1.5rem; text-align: center;">
  <h1>Your product name</h1>
  <p>A one-line pitch.</p>
  <CardGroup cols={3}>
    <Card title="Get started" href="/docs/quickstart/" />
    <Card title="API reference" href="/api/" />
    <Card title="Guides" href="/guides/" />
  </CardGroup>
</div>

blank

Everything custom drops, plus the topbar itself - no site chrome at all, just this page’s own content. For something that should look nothing like the rest of the site: a login/auth screen, a print-friendly page, a standalone embed.

---
title: Sign in
mode: blank
---

<div style="max-width: 400px; margin: 10vh auto;">
  <!-- a completely custom sign-in form, no site branding at all -->
</div>

See docs.json-examples/00-kitchen-sink/ in the Writedocs repo for a complete, buildable example of all four non-default modes: wide (docs/core/2026-01/guides/rate-limits.mdx), frame (legal/terms.mdx), custom (about.mdx), and blank (signin.mdx).