You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vitepress/docs/ru/reference/default-theme-home-page.md

197 lines
6.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Главная страница {#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` в метаданных.
:::