Skip to content
MagiCMS

Theming

daisyUI themes

The scaffold ships with themes: all in src/styles/styles.css — every daisyUI theme is bundled into the CSS. The active theme is set per-page via <html data-theme={site.theme ?? "light"}>.

Trade-off: bigger CSS bundle, zero JS to switch themes. Trim options in site.schema.json (and styles.css) for production.

Theme sections

The sections/Theme/Theme.astro section wraps a subset of nodes in a <div data-theme="...">. Use it to invert colors mid-page (e.g. light hero, dark CTA).

Custom themes

Add a folder under packages/ui/src/theme-library/<id>/ with theme.json (palette) and <id>.theme.css (one @plugin "daisyui/theme" block). Run node packages/ui/scripts/generate-theme-library.mjs to regenerate preview.svg thumbnails.

Default starter layout

New projects start from the Default starter. Article.astro owns max-w and padding. The Theme section is available as a thin data-theme wrapper and should not add a second max-width on top of Article.

Vi bruker cookies for å forbedre din opplevelse.