|
|
# Главная страница {#home-page}
|
|
|
|
|
|
Тема 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` градиентный цвет.
|
|
|
|
|
|
```css
|
|
|
:root {
|
|
|
--vp-home-hero-name-color: transparent;
|
|
|
--vp-home-hero-name-background: -webkit-linear-gradient(
|
|
|
120deg,
|
|
|
#bd34fe,
|
|
|
#41d1ff
|
|
|
);
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## Секция `features` {#features-section}
|
|
|
|
|
|
В секции `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`.
|
|
|
//
|
|
|
// например, `Узнать подробнее`, `Посетить страницу` и т. д.
|
|
|
linkText?: string
|
|
|
|
|
|
// Атрибут rel для опции `link`
|
|
|
//
|
|
|
// например, `external`
|
|
|
rel?: string
|
|
|
|
|
|
// Атрибут target для опции `link`
|
|
|
target?: string
|
|
|
}
|
|
|
|
|
|
type FeatureIcon =
|
|
|
| string
|
|
|
| { src: string; alt?: string; width?: string; height: string }
|
|
|
| {
|
|
|
light: string
|
|
|
dark: string
|
|
|
alt?: string
|
|
|
width?: string
|
|
|
height: string
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## Содержимое Markdown {#markdown-content}
|
|
|
|
|
|
Вы можете добавить дополнительный контент на главную страницу вашего сайта, просто добавив Markdown под разделителем `---`.
|
|
|
|
|
|
````md
|
|
|
---
|
|
|
layout: home
|
|
|
|
|
|
hero:
|
|
|
name: VitePress
|
|
|
text: Генератор статических сайтов на основе Vite и Vue.
|
|
|
---
|
|
|
|
|
|
## Начало работы
|
|
|
|
|
|
Вы можете начать использовать VitePress прямо сейчас, используя `npx`!
|
|
|
|
|
|
```sh
|
|
|
npm init
|
|
|
npx vitepress init
|
|
|
```
|
|
|
````
|
|
|
|
|
|
::: info ПРИМЕЧАНИЕ
|
|
|
VitePress не всегда автоматически стилизовал дополнительный контент страницы с макетом `layout: home`. Чтобы вернуться к старому поведению, добавьте `markdownStyles: false` в метаданных.
|
|
|
:::
|