# Project

Configure site identity, logo assets, and favicon links.

`Project` settings describe the documentation site itself. Keep this page for
identity fields that affect metadata, branding, and browser chrome.

```json title="theme.config.json"
{
  "name": "Astro Theme Dahlia",
  "description": "A documentation theme for Astro.",
  "logo": {
    "light": "/images/logo-light.svg",
    "dark": "/images/logo-dark.svg",
    "href": "/"
  },
  "favicon": "/favicon.svg"
}
```

Routing, i18n, source links, and contributors are separate configuration
topics. See [Content Routing](/docs/configuration/content-routing/),
[Internationalization](/docs/configuration/i18n/), and
[Source](/docs/configuration/source/).

## Name

`name` is the public product or project name. Dahlia uses it for the site title,
header brand text, footer brand text, and schema.org metadata.

```json
"name": "Astro Theme Dahlia"
```

Page titles are composed from the page frontmatter title and this name.

## Description

`description` is the default site description. Pages can still override it with
frontmatter.

```json
"description": "A documentation theme for Astro."
```

Dahlia uses this value for the default `<meta name="description">` and
structured data.

## Logo

`logo` is optional. If it is omitted, Dahlia renders the built-in Dahlia mark.

By default, Dahlia treats the logo as a mark and renders it next to `name`.
Use a string when one mark asset works in every theme mode.

```json
"logo": "/images/logo.svg"
```

Use an object when light and dark mode need different mark assets.

```json
"logo": {
  "light": "/images/logo-light.svg",
  "dark": "/images/logo-dark.svg",
  "href": "/"
}
```

If your logo asset already includes the project name, set `variant: 'lockup'`.
Dahlia will render the image by itself and skip the extra `name` text. The
default `variant` is `mark`.

```json
"logo": {
  "light": "/images/logo-lockup-light.svg",
  "dark": "/images/logo-lockup-dark.svg",
  "variant": "lockup"
}
```

`href` controls the brand link target. If omitted, the brand links to `/`.
For local assets in `public/`, Dahlia reads the image dimensions during the
Astro config setup step and renders `width` and `height` attributes
automatically. Add `width` and `height` only for remote logo URLs or custom
paths Dahlia cannot read from `public/`.

## Favicon

Use a string for the common single favicon case.

```json
"favicon": "/favicon.svg"
```

Use an object or array when a project needs multiple favicon links.

```json
"favicon": [
  { "href": "/favicon.svg", "type": "image/svg+xml" },
  { "href": "/favicon.ico", "sizes": "32x32" },
  { "href": "/apple-touch-icon.png", "rel": "apple-touch-icon", "sizes": "180x180" }
]
```

Each object renders as a `<link>` in the document head. Supported fields are
`href`, `rel`, `type`, `sizes`, `media`, and `color`.
