Тема VitePress по умолчанию предоставляет макет главной страницы, который вы также можете увидеть на [главной странице этого сайта](../). Вы можете использовать его на любой из своих страниц, указав `layout: home` в [метаданных](./frontmatter-config) страницы.
```yaml
---
layout: home
---
```
Однако сам по себе этот вариант мало что даст. Вы можете добавить несколько различных готовых «секций» на главную страницу, установив дополнительные опции, такие как `hero` и `features`.
## Секция `hero` {#hero-section}
Секция `hero` находится в верхней части главной страницы. Вот как можно её настроить:
```yaml
---
layout: home
hero:
name: VitePress
text: Генератор статических сайтов на основе Vite и Vue.
tagline: Lorem ipsum...
image:
src: /logo.png
alt: VitePress
actions:
- theme: brand
text: Начать
link: /guide/what-is-vitepress
- theme: alt
text: Посмотреть на GitHub
link: https://github.com/vuejs/vitepress
---
```
```ts
interface Hero {
// Строка, отображаемая поверх `text`. Поставляется в фирменном цвете и,
// как ожидается, будет короткой — например, название продукта
name?: string
// Основной текст секции. Будет использоваться внутри тега `h1`
text: string
// Заголовок, отображаемый под `text`
tagline?: string
// Изображение отображается рядом с`text` и `tagline`
image?: ThemeableImage
// Кнопки действий для отображения в секции
actions?: HeroAction[]
}
type ThemeableImage =
| string
| { src: string; alt?: string }
| { light: string; dark: string; alt?: string }
interface HeroAction {
// Цветовая тема кнопки. По умолчанию принимает значение `brand`.
theme?: 'brand' | 'alt'
// Метка кнопки.
text: string
// Ссылка назначения кнопки.
link: string
// Атрибут цели ссылки.
target?: string
// Атрибут rel ссылки.
rel?: string
}
```
### Настройка цвета заголовка секции {#customizing-the-name-color}
VitePress использует фирменный цвет (`--vp-c-brand-1`) для атрибута `name` в секции `hero`. Однако вы можете настроить этот цвет, переопределив переменную `--vp-home-hero-name-color`.
```css
:root {
--vp-home-hero-name-color: blue;
}
```
Также вы можете настроить его ещё больше, комбинируя `--vp-home-hero-name-background`, чтобы придать `name` градиентный цвет.
В секции `features` можно перечислить любое количество функций, которые вы хотели бы показать сразу после секции `hero`. Чтобы настроить её, передайте опцию `features` в метаданных страницы.
Для каждой функции можно указать иконку, который может быть эмодзи или любым другим изображением. Если настраиваемая иконка представляет собой изображение (svg, png, jpeg...), вы должны предоставить ей соответствующую ширину и высоту. При необходимости можно указать описание, собственный размер, а также варианты для тёмной и светлой темы.
```yaml
---
layout: home
features:
- icon: 🛠️
title: Просто и минималистично, всегда
details: Lorem ipsum...
- icon:
src: /cool-feature-icon.svg
title: Ещё одна интересная функция
details: Lorem ipsum...
- icon:
dark: /dark-feature-icon.svg
light: /light-feature-icon.svg
title: Ещё одна интересная функция
details: Lorem ipsum...
---
```
```ts
interface Feature {
// Иконка
icon?: FeatureIcon
// Заголовок фичи
title: string
// Описание фичи
details: string
// Ссылка при нажатии на компонент функции. Ссылка может быть как внутренней, так и внешней.
//
// например, `guide/reference/default-theme-home-page` или `https://example.com`
link?: string
// Текст ссылки, который будет отображаться внутри компонента функции. Лучше всего использовать с опцией `link`.
//
// например, `Узнать подробнее`, `Посетить страницу` и т. д.
VitePress не всегда автоматически стилизовал дополнительный контент страницы с макетом `layout: home`. Чтобы вернуться к старому поведению, добавьте `markdownStyles: false` в метаданных.