Skip to content

Layouts

The page shells Nimbus ships, and how to turn columns off per page or site-wide.

AI-generated · awaiting reviewUpdated View as Markdown

Layouts are user-owned .astro files in src/layouts/. The scaffolder writes them; you edit them freely.

The shells

  • BaseLayout — the outer shell: <html>, <head>, theme bootstrap, font preloads, metadata. Everything renders inside it.
  • DocsLayout — the docs page shape: sidebar rail, content column, table of contents, breadcrumbs, prev/next. The default for content pages.
  • ShowcaseLayout — the component-showcase shape used by the /components collection.

Because they’re your files, the way to remove a piece of chrome is to delete it from the layout — drop <Pagination /> from DocsLayout and it’s gone site-wide.

Per-page toggles

Frontmatter turns individual columns off without touching the layout:

---
title: Wide page
sidebar: false           # hide the sidebar rail
tableOfContents: false   # hide the TOC column
---

For a page with no docs chrome at all — a landing or marketing page — use mode: custom:

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

Site-wide toggles

The features block in your Nimbus config kills a column everywhere. The merge is AND — a column renders only when both the site-wide flag and the per-page field agree:

astro.config.tsts
nimbus({
  /* … */
  features: {
    sidebar: true,
    tableOfContents: false,   // no TOC on any page
  },
});

There’s no per-page opt-in to override a site-wide false: turn a column off site-wide and it stays off.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close