Dahlia
Type to search documentation.

Configuration

Reference Dahlia theme configuration fields, defaults, and related docs.

This reference lists top-level Dahlia theme fields. Use the linked configuration pages for examples and behavior details.

Config Files

Dahlia automatically reads theme.config.json from the Astro project root. Use JSON when your theme configuration is plain data and you want editor completion from the schema.

theme.config.json
{
"$schema": "https://astro-theme-dahlia.prosefly.dev/schema.json",
"name": "My Docs",
"description": "Documentation for my project.",
"appearance": {
"accent": "emerald"
}
}

Register Dahlia without arguments when all configuration lives in JSON:

astro.config.ts
import { defineConfig } from 'astro/config';
import dahlia from '@prosefly/astro-theme-dahlia';
export default defineConfig({
integrations: [dahlia()],
});

Values passed to dahlia({...}) override theme.config.json. Object options such as appearance, footer, iconify, locales, markdown, source, and ui are shallow-merged; arrays such as siteNav, socials, and docsNav replace the JSON value when provided.

Component overrides are integration-only. Configure components in astro.config.ts, not in theme.config.json.

Options

FieldDefaultSee
name'Documentation'Project
description'Project documentation.'Project
logobuilt-in Dahlia markProject
faviconnoneProject
appearanceaccent: 'indigo', gray: 'neutral', defaultMode: 'system', radius: 'medium'Appearance
docsBase'/'Content Routing
defaultLocalefirst configured localeInternationalization
localesnoneInternationalization
uibuilt-in English messagesInternationalization
siteNavone Docs linkNavbar
socials[]Navbar
docsNav[]Docs Navigation
footerempty copyright and sectionsFooter
search{ provider: 'local' }Search
assistantfalseAssistant
llmstrueContent Routing
pageActionscopy, Markdown, ChatGPT, ClaudePage Actions
sourceinferred when possibleSource
editLinkhiddenSource
contributorsfalseSource
components{} in dahlia({...}) onlyOverriding Components
creditstrueFooter
iconifydefault Iconify API, scan enabledIntegrations
markdownall transforms enabled, Expressive Code defaultsIntegrations

TypeScript Options

Use defineDahliaConfig() inside astro.config.ts when configuration needs TypeScript, imports, or computed values:

astro.config.ts
import { defineConfig } from 'astro/config';
import dahlia, { defineDahliaConfig } from '@prosefly/astro-theme-dahlia';
const dahliaConfig = defineDahliaConfig({
name: 'My Docs',
description: 'Documentation for my project.',
});
export default defineConfig({
integrations: [dahlia(dahliaConfig)],
});

Values passed to dahlia({...}) override theme.config.json.

Last updated Aug 24, 2026

Contributors