← Home

Customization

(Last Edited)

Site identity

All site-level metadata is in site.config.ts at the project root. Edit the three fields there — name, description, url — and everything else (page titles, <meta> tags, sitemap) updates automatically.

Styling

Styles are written in Tailwind CSS v4. Theme tokens are defined as CSS custom properties in src/app/globals.css under @theme. Edit that file to change colors, spacing, or any other design token.

Dark mode is handled by the .dark class via next-themes. Colors are defined as light/dark pairs using CSS light-dark():

@theme {
  --color-background: light-dark(#ffffff, #0a0a0a);
  --color-foreground: light-dark(#171717, #ededed);
}

Fonts

Fonts are platform-native — no web font downloads. They are set as CSS variables in globals.css:

--font-sans: 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
--font-mono: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;

Change these variables to use any font stack you prefer. To load a web font, add it in src/app/layout.tsx using next/font.

Prose styles

MDX content is wrapped in a .prose class. The prose styles are defined entirely in globals.css — there is no @tailwindcss/typography dependency. Edit the .prose block directly to change heading sizes, line height, link colors, or any other prose-specific style.

Syntax highlighting themes

Shiki themes are configured in src/lib/mdx-options.ts:

themes: {
  light: 'github-light',
  dark: 'github-dark',
},

Replace these with any Shiki-bundled theme.

Adding shadcn/ui components

The project is pre-configured for shadcn/ui (style: new-york, Tailwind v4). Add new primitives with:

bunx shadcn add <component>

Components are installed to src/components/ui/.