| Mode | Left sidebar | Right aside | Editorial grid | Use case |
default | Yes | Yes | Yes | Standard docs pages |
compact | Yes | No | Yes (2-column) | Focused docs with a narrow frame |
center | No | Yes | Yes (2-column) | Focused content without nav |
custom | No | No | No | Landing pages, custom layouts |
wide and frame are accepted for Mintlify compatibility and alias to default.layout.mode: "compact" in docs.json), every page uses the same narrow frame, so navigating never shifts the layout. See Compact sites.compact to keep the left navigation while removing the optional right aside. The content column keeps its normal reading width, so the full page frame becomes narrower and the header aligns with the content on the right. Compact also sets --sidebar-font-size to 12px (the default is 13px, 14px at xl). Override that token on :root if you want a different size.1234--- $schema: https://holocron.so/frontmatter.json mode: "compact" ---
docs.json to make it the default for the full site. Compact mode removes the right aside, so Ask AI shows as a floating bottom pill. Pages in OpenAPI and MCP tabs keep their right aside and show Ask AI there, except endpoint pages, where the request examples fill the aside and Ask AI stays a pill.12345{ "layout": { "mode": "compact" } }
11200px max width - 230px right aside - 40px column gap = 930px
| Page | Width | Columns |
No mode, compact, default, wide, frame | 930px | left sidebar + content |
mode: "center", including Changelog tabs | 930px | content + right aside |
| 404 and MDX error pages | 930px | left sidebar + content |
930px compact frame ┌──────────┬──────────────────────┐ ┌──────────────────────┬──────────┐ │ sidebar │ content │ │ content │ aside │ └──────────┴──────────────────────┘ └──────────────────────┴──────────┘ docs pages (any mode but center) center pages (blog, changelog)
default, wide and frame cannot add a third column inside 930px: the content would shrink to 390px. So on a compact site they behave like compact, and their asides render inline.| Page | Width | Right aside | Why |
| Every page in an OpenAPI tab | 1200px | Yes | Request and response examples need the rail (460px on endpoint pages) |
| Every page in an MCP tab | 1200px | Yes | Tool examples need the rail. Overview pages keep it for one frame |
mode: "custom", including Imageboard tabs | maxWidth | No | No editorial grid. The container is 1200px unless maxWidth is set |
layout.maxWidth or layout.columnGap update the compact frame automatically.mode: "custom" to strip the editorial layout entirely. Only the navbar, tab bar, footer, and mobile navigation are rendered. The content area is a plain container where you control everything with your own HTML and Tailwind classes.1234--- $schema: https://holocron.so/frontmatter.json mode: "custom" ---
maxWidthmaxWidth frontmatter field to constrain the content container width in pixels. The navbar stays full-width; only the content area is narrowed and centered.12345--- $schema: https://holocron.so/frontmatter.json mode: "custom" maxWidth: 700 ---
--- mode: "custom" maxWidth: 800 --- <div className="flex flex-col items-center py-24 gap-6 text-center"> <h1 className="text-5xl font-bold tracking-tight"> Your Product Name </h1> <p className="text-lg text-muted-foreground max-w-xl"> A short description of what your product does and why it matters. </p> <a href="./quickstart" className="no-underline rounded-lg bg-primary px-5 py-2.5 text-sm font-medium text-primary-foreground"> Get Started </a> </div>
--grid-max-widthstyle.css file (see Custom CSS):1234/* style.css */ :root { --grid-max-width: 2600px; }
Default (1200px max) ┌────────────────────────────────────────────────────────────────────────────┐ │ ┌───────┐ ┌──────────────┐ ┌───────┐ │ │ │ nav │ │ content │ │ aside │ │ │ └───────┘ └──────────────┘ └───────┘ │ └────────────────────────────────────────────────────────────────────────────┘ Full-width (2600px max) ┌────────────────────────────────────────────────────────────────────────────┐ │ ┌───────┐ ┌──────────────┐ ┌───────┐ │ │ │ nav │ │ content │ │ aside │ │ │ └───────┘ └──────────────┘ └───────┘ │ └────────────────────────────────────────────────────────────────────────────┘
| Variable | Default | Description |
--grid-max-width | 1200px | Overall page cap |
--grid-nav-width | 230px | Left sidebar (table of contents) |
--grid-sidebar-width | 230px | Right sidebar (aside content) |
--grid-gap | 40px | Gap between columns |
1content = min(720px, max-width - nav - sidebar - 2 × gap)
--grid-max-width does not make the content column infinitely wide. It grows until it hits the 720px cap, then the extra space becomes gap.--grid-sidebar-width to 460px when the aside contains RequestExample or ResponseExample. Use <Aside width={N}> for any other fixed size. See Aside.<Aside> shares its vertical space with the section it belongs to (the content between two headings). The section row expands to fit whichever is taller: the main content or the aside. If the aside callout is taller than the section text, you will see extra whitespace below the main content.100vw:1234/* style.css */ :root { --grid-max-width: 100vw; }