How Layouts Work
A content file declares its layout in the YAML frontmatter:layout field, looks it up in apps/site/components/withLayout.tsx, and wraps the compiled MDX content in the corresponding layout component.
The TypeScript pattern for a layout is:
Available Layouts
All layout files live inapps/site/layouts/.
about — About.tsx
about — About.tsx
Used for pages in the About section. Provides:
- Top navigation bar
- Sidebar with
aboutandgetInvolvednavigation keys - Meta bar (reading time, authors, edit link)
- Breadcrumbs
- Footer
article-page — ArticlePage.tsx
article-page — ArticlePage.tsx
Standalone article pages. Provides:
- Top navigation bar
- Empty sidebar (no nav keys — no sidebar links shown)
- Meta bar
- Footer
base — Base.tsx
base — Base.tsx
The foundational layout that wraps all other layouts. Provides:
NavigationStateProviderReact context- A
baseLayoutCSS class wrapper
blog — Blog.tsx
blog — Blog.tsx
Blog index and category listing pages. Provides:
- Top navigation bar
- Blog header with category label
- Blog category tabs (All, Announcements, Release, Vulnerability, Migrations, Events)
- Paginated post listing
- Footer
{children} from MDX content — the blog listing is fully data-driven.default — Default.tsx
default — Default.tsx
Generic layout for pages that don’t fit a specific section. Provides:
- Top navigation bar
- Empty sidebar
- Footer
download — Download.tsx
download — Download.tsx
Download section pages. Provides:
- Top navigation bar
- Page title from frontmatter
WithDownloadSectioncomponent pre-populated with live release data- MDX content rendered inside the download section
- Footer
async Server Component — it fetches release data at build time via provideReleaseData().download-archive — DownloadArchive.tsx
download-archive — DownloadArchive.tsx
Download archive listing. Used for the historical releases archive page.
glowing-backdrop — GlowingBackdrop.tsx
glowing-backdrop — GlowingBackdrop.tsx
A visual layout used for landing/feature pages that require the glowing backdrop visual treatment.
learn — Learn.tsx
learn — Learn.tsx
Learn section articles. Provides:
- Top navigation bar
- Sidebar with the
learnnavigation key (full Learn section outline) - Sidebar cross-links (previous/next article navigation)
- Meta bar
- Breadcrumbs
- Footer
post — Post.tsx
post — Post.tsx
Individual blog posts. Provides:
- Top navigation bar
- Post title (from frontmatter)
- Author avatar group and names
- Blog preview card
- EOL alert (for vulnerability posts)
- MDX content
- Blog cross-links (previous/next post)
- Meta bar
- Footer
Creating a Custom Layout
Create the layout component
Add a new
.tsx file in apps/site/layouts/. Follow the FC<PropsWithChildren> pattern: