# Настройка темы по умолчанию {#default-theme-config}
Конфигурация темы позволяет настроить её под себя. Вы можете настроить тему с помощью опции `themeConfig` в файле конфигурации:
```ts
export default {
lang: 'ru-RU',
title: 'VitePress',
description: 'Генератор статического сайта на базе Vite и Vue.',
// Конфигурации, связанные с темой.
themeConfig: {
logo: '/logo.svg',
nav: [...],
sidebar: { ... }
}
}
```
**Параметры, описанные на этой странице, применимы только к теме по умолчанию.** Разные темы предполагают разные конфигурации темы. При использовании пользовательской темы объект конфигурации темы будет передан теме, чтобы она могла определить условное поведение на его основе.
## i18nRouting {#i18nrouting}
- Тип: `boolean`
При смене локали на `ru` URL изменится с `/foo` (или `/en/foo/`) на `/ru/foo`. Вы можете отключить это поведение, установив для параметра `themeConfig.i18nRouting` значение `false`.
## logo {#logo}
- Тип: `ThemeableImage`
Файл логотипа для отображения в навигационной панели, прямо перед заголовком сайта. Принимает строку пути или объект, чтобы установить другой логотип для светлого/тёмного режима.
```ts
export default {
themeConfig: {
logo: '/logo.svg'
}
}
```
```ts
type ThemeableImage =
| string
| { src: string; alt?: string }
| { light: string; dark: string; alt?: string }
```
## siteTitle {#sitetitle}
- Тип: `string | false`
Вы можете настроить этот элемент для замены стандартного заголовка сайта (`title` в конфигурации приложения) в nav. При установке значения `false` заголовок в панели навигации будет отключен. Пригодится, если у вас есть `logo`, который уже содержит текст названия сайта.
```ts
export default {
themeConfig: {
siteTitle: 'Привет, мир'
}
}
```
## nav {#nav}
- Тип: `NavItem`
Конфигурация для пункта навигационного меню. Подробнее в главе [Тема по умолчанию: Навигация](./default-theme-nav#navigation-links).
```ts
export default {
themeConfig: {
nav: [
{ text: 'Руководство', link: '/guide' },
{
text: 'Выпадающее меню',
items: [
{ text: 'Пункт A', link: '/item-1' },
{ text: 'Пункт B', link: '/item-2' },
{ text: 'Пункт C', link: '/item-3' }
]
}
]
}
}
```
```ts
type NavItem = NavItemWithLink | NavItemWithChildren
interface NavItemWithLink {
text: string
link: string
activeMatch?: string
target?: string
rel?: string
noIcon?: boolean
}
interface NavItemChildren {
text?: string
items: NavItemWithLink[]
}
interface NavItemWithChildren {
text?: string
items: (NavItemChildren | NavItemWithLink)[]
activeMatch?: string
}
```
## sidebar {#sidebar}
- Тип: `Sidebar`
Конфигурация для пунктов меню боковой панели. Подробнее в главе [Тема по умолчанию: Сайдбар](./default-theme-sidebar).
```ts
export default {
themeConfig: {
sidebar: [
{
text: 'Руководство',
items: [
{ text: 'Введение', link: '/introduction' },
{ text: 'Первые шаги', link: '/getting-started' },
...
]
}
]
}
}
```
```ts
export type Sidebar = SidebarItem[] | SidebarMulti
export interface SidebarMulti {
[path: string]: SidebarItem[]
}
export type SidebarItem = {
/**
* Текстовая метка элемента
*/
text?: string
/**
* Ссылка на элемент
*/
link?: string
/**
* Потомки элемента
*/
items?: SidebarItem[]
/**
* Если не указано, группа не будет сворачиваться
*
* Если `true`, то группа будет сворачиваться и разворачиваться по умолчанию
*
* Если `false`, группа сворачивается, но по умолчанию разворачивается
*/
collapsed?: boolean
}
```
## aside {#aside}
- Тип: `boolean | 'left'`
- По умолчанию: `true`
- Можно переопределить для каждой страницы с помощью [метаданных](./frontmatter-config#aside)
Установка этого значения в `false` предотвращает отрисовку контейнера сайдбара.\
Установка этого значения в `true` приведёт к отображению сайдбара справа.\
Установка этого значения в `left` приведёт к отображению сайдбара слева.
Если вы хотите отключить его для всех режимов просмотра, используйте `aside: false`.
## outline {#outline}
- Тип: `Outline | Outline['level'] | false`
- Уровень можно переопределить для каждой страницы с помощью [метаданных](./frontmatter-config#outline)
Установка этого значения в `false` предотвращает отрисовку оглавления. Для получения более подробной информации обратитесь к этому интерфейсу:
```ts
interface Outline {
/**
* Уровни заголовков, которые будут отображаться в оглавлении.
* Одиночное число означает, что будут отображаться только заголовки этого уровня.
* Если передается кортеж, то первое число — это минимальный уровень, а второе — максимальный.
* `'deep'` то же самое, что `[2, 6]`, что означает, что будут отображены все заголовки от `