Skip to content

Конфигурация Темы По Умолчанию

Конфигурация темы позволяет настроить вашу тему. Вы можете определить конфигурацию темы через опцию themeConfig в файле конфигурации:

ts
export default {
  lang: 'en-US',
  title: 'VitePress',
  description: 'Генератор статических сайтов на Vite & Vue.',

  // Конфигурации, связанные с темой.
  themeConfig: {
    logo: '/logo.svg',
    nav: [...],
    sidebar: { ... }
  }
}

Опции, описанные на этой странице, применимы только к теме по умолчанию. Разные темы могут ожидать различную конфигурацию темы. При использовании пользовательской темы объект конфигурации темы будет передан теме, так что тема может определить условное поведение на его основе.

i18nRouting

  • Тип: boolean

Изменение локали, например, на zh, изменит URL с /foo (или /en/foo/) на /zh/foo. Вы можете отключить это поведение, установив themeConfig.i18nRouting в false.

  • Тип: ThemeableImage

Файл логотипа для отображения в навигационной панели, перед названием сайта. Принимает строку пути или объект для установки разных логотипов для светлой/темной темы.

ts
export default {
  themeConfig: {
    logo: '/logo.svg'
  }
}
ts
type ThemeableImage =
  | string
  | { src: string; alt?: string }
  | { light: string; dark: string; alt?: string }

siteTitle

  • Тип: string | false

Вы можете настроить этот элемент, чтобы заменить название сайта по умолчанию (title в конфигурации приложения) в навигации. Если установлено значение false, название в навигации будет отключено. Полезно, когда у вас есть logo, которое уже содержит текст названия сайта.

ts
export default {
  themeConfig: {
    siteTitle: 'Привет Мир'
  }
}
  • Тип: NavItem

Конфигурация для элемента меню навигации. Подробнее в Тема По Умолчанию: Навигация.

ts
export default {
  themeConfig: {
    nav: [
      { text: 'Руководство', link: '/guide' },
      {
        text: 'Выпадающее Меню',
        items: [
          { text: 'Пункт А', link: '/item-1' },
          { text: 'Пункт Б', link: '/item-2' },
          { text: 'Пункт В', link: '/item-3' }
        ]
      }
    ]
  }
}
ts
type NavItem = NavItemWithLink | NavItemWithChildren

interface NavItemWithLink {
  text: string
  link: string
  activeMatch?: string
  target?: string
  rel?: string
}

interface NavItemChildren {
  text?: string
  items: NavItemWithLink[]
}

interface NavItemWithChildren {
  text?: string
  items: (NavItemChildren | NavItemWithLink)[]
  activeMatch?: string
}
  • Тип: 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

  • Тип: boolean | 'left'
  • По умолчанию: true
  • Может быть переопределено на странице через frontmatter

Установка этого значения в false предотвращает отображение контейнера сайдбара.
Установка этого значения в true отображает сайдбар справа.
Установка этого значения в left отображает сайдбар слева.

Если вы хотите отключить его для всех видов, вы должны использовать outline: false.

outline

  • Тип: Outline | Outline['level'] | false
  • Уровень может быть переопределен на странице через frontmatter

Установка этого значения в false предотвращает отображение контейнера с оглавлением. Смотрите этот интерфейс для более подробной информации:

ts
interface Outline {
  /**
   * Уровни заголовков, которые будут отображаться в оглавлении.
   * Одно число означает, что будут отображаться только заголовки этого уров

ня.
   * Если передан кортеж, первое число - минимальный уровень, а второе - максимальный уровень.
   * `'deep'` то же самое, что и `[2, 6]`, что означает, что будут отображаться все заголовки от `<h2>` до `<h6>`.
   *
   * @default 2
   */
  level?: number | [number, number] | 'deep'

  /**
   * Заголовок, который будет отображаться в оглавлении.
   *
   * @default 'На этой странице'
   */
  label?: string
}
  • Тип: SocialLink[]

Вы можете определить эту опцию, чтобы показать ссылки на ваши социальные аккаунты с иконками в навигации.

ts
export default {
  themeConfig: {
    socialLinks: [
      { icon: 'github', link: 'https://github.com/vuejs/vitepress' },
      { icon: 'twitter', link: '...' },
      // Вы также можете добавить пользовательские иконки, передав SVG в виде строки:
      {
        icon: {
          svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Dribbble</title><path d="M12...6.38z"/></svg>'
        },
        link: '...',
        // Вы также можете включить пользовательскую метку для доступности (необязательно, но рекомендуется):
        ariaLabel: 'крутая ссылка'
      }
    ]
  }
}
ts
interface SocialLink {
  icon: SocialLinkIcon
  link: string
  ariaLabel?: string
}

type SocialLinkIcon =
  | 'discord'
  | 'facebook'
  | 'github'
  | 'instagram'
  | 'linkedin'
  | 'mastodon'
  | 'npm'
  | 'slack'
  | 'twitter'
  | 'x'
  | 'youtube'
  | { svg: string }
  • Тип: Footer
  • Может быть переопределено на странице через frontmatter

Конфигурация нижнего колонтитула. Вы можете добавить сообщение или текст авторских прав в нижний колонтитул, однако он будет отображаться только в том случае, если страница не содержит боковой панели. Это связано с дизайнерскими соображениями.

ts
export default {
  themeConfig: {
    footer: {
      message: 'Выпущено под лицензией MIT.',
      copyright: 'Copyright © 2019-present Evan You'
    }
  }
}
ts
export interface Footer {
  message?: string
  copyright?: string
}
  • Тип: EditLink
  • Может быть переопределено на странице через frontmatter

Ссылка на редактирование позволяет отображать ссылку для редактирования страницы на сервисах управления Git, таких как GitHub или GitLab. Смотрите Тема По Умолчанию: Ссылка На Редактирование для более подробной информации.

ts
export default {
  themeConfig: {
    editLink: {
      pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path',
      text: 'Редактировать эту страницу на GitHub'
    }
  }
}
ts
export interface EditLink {
  pattern: string
  text?: string
}

lastUpdated

  • Тип: LastUpdatedOptions

Позволяет настроить текст и формат даты последнего обновления.

ts
export default {
  themeConfig: {
    lastUpdated: {
      text: 'Обновлено',
      formatOptions: {
        dateStyle: 'full',
        timeStyle: 'medium'
      }
    }
  }
}
ts
export interface LastUpdatedOptions {
  /**
   * @default 'Последнее обновление'
   */
  text?: string

  /**
   * @default
   * { dateStyle: 'short',  timeStyle: 'short' }
   */
  formatOptions?: Intl.DateTimeFormatOptions & { forceLocale?: boolean }
}

algolia

  • Тип: AlgoliaSearch

Опция для поддержки поиска на вашем сайте документации с использованием Algolia DocSearch. Узнайте больше в Тема По Умолчанию: Поиск

ts
export interface AlgoliaSearchOptions extends DocSearchProps {
  locales?: Record<string, Partial<DocSearchProps>>
}

Полные опции смотрите здесь.

carbonAds

  • Тип: CarbonAdsOptions

Опция для отображения Carbon Ads.

ts
export default {
  themeConfig: {
    carbonAds: {
      code: 'ваш-carbon-код',
      placement: 'ваш-carbon-размещение'
    }
  }
}
ts
export interface CarbonAdsOptions {
  code: string
  placement: string
}

Узнайте больше в Тема По Умолчанию: Carbon Ads

docFooter

  • Тип: DocFooter

Может использоваться для настройки текста, появляющегося над ссылками на предыдущую и следующую страницы. Полезно, если

вы не пишете документацию на английском языке. Также может использоваться для глобального отключения ссылок на предыдущую/следующую страницу. Если вы хотите выборочно включить/отключить ссылки на предыдущую/следующую страницу, вы можете использовать frontmatter.

ts
export default {
  themeConfig: {
    docFooter: {
      prev: 'Предыдущая страница',
      next: 'Следующая страница'
    }
  }
}
ts
export interface DocFooter {
  prev?: string | false
  next?: string | false
}

darkModeSwitchLabel

  • Тип: string
  • По умолчанию: Внешний вид

Может использоваться для настройки метки переключателя темной темы. Эта метка отображается только в мобильном представлении.

lightModeSwitchTitle

  • Тип: string
  • По умолчанию: Переключиться на светлую тему

Может использоваться для настройки заголовка переключателя светлой темы, который появляется при наведении.

darkModeSwitchTitle

  • Тип: string
  • По умолчанию: Переключиться на темную тему

Может использоваться для настройки заголовка переключателя темной темы, который появляется при наведении.

sidebarMenuLabel

  • Тип: string
  • По умолчанию: Меню

Может использоваться для настройки метки меню боковой панели. Эта метка отображается только в мобильном представлении.

returnToTopLabel

  • Тип: string
  • По умолчанию: Вернуться наверх

Может использоваться для настройки метки кнопки возврата наверх. Эта метка отображается только в мобильном представлении.

langMenuLabel

  • Тип: string
  • По умолчанию: Сменить язык

Может использоваться для настройки aria-label кнопки переключения языка в навигационной панели. Это используется только если вы используете i18n.

externalLinkIcon

  • Тип: boolean
  • По умолчанию: false

Показывать ли иконку внешней ссылки рядом с внешними ссылками в markdown.

Содержание доступно по лицензии MIT