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-team-page.md

253 lines
11 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.

<script setup>
import { VPTeamMembers } from 'vitepress/theme'
const members = [
{
avatar: 'https://github.com/yyx990803.png',
name: 'Эван Ю',
title: 'Создатель',
links: [
{ icon: 'github', link: 'https://github.com/yyx990803' },
{ icon: 'twitter', link: 'https://twitter.com/youyuxi' }
]
},
{
avatar: 'https://github.com/kiaking.png',
name: 'Киа Кинг Исии',
title: 'Разработчик',
links: [
{ icon: 'github', link: 'https://github.com/kiaking' },
{ icon: 'twitter', link: 'https://twitter.com/KiaKing85' }
]
}
]
</script>
# Страница команды {#team-page}
Если вы хотите представить свою команду, вы можете использовать компоненты Team для создания страницы команды. Есть два варианта использования этих компонентов. Один из вариантов — встроить их в страницу с макетом `doc`, а другой — создать полноценную страницу команды.
## Отображение членов команды на странице {#show-team-members-in-a-page}
Вы можете использовать компонент `<VPTeamMembers>`, доступный из `vitepress/theme`, для отображения списка членов команды на любой странице.
```html
<script setup>
import { VPTeamMembers } from 'vitepress/theme'
const members = [
{
avatar: 'https://www.github.com/yyx990803.png',
name: 'Эван Ю',
title: 'Создатель',
links: [
{ icon: 'github', link: 'https://github.com/yyx990803' },
{ icon: 'twitter', link: 'https://twitter.com/youyuxi' }
]
},
...
]
</script>
# Поприветствуйте нашу замечательную команду
<VPTeamMembers size="small" :members="members" />
```
Вышеуказанное отобразит члена команды в виде карточки. Должно отобразиться что-то похожее на то, что показано ниже.
<VPTeamMembers size="small" :members="members" />
Компонент `<VPTeamMembers>` поставляется в двух различных размерах, `small` и `medium`. Хотя это зависит от ваших предпочтений, обычно размер `small` лучше подходит для использования на странице с макетом `doc`. Кроме того, вы можете добавить дополнительные свойства для карточки члена команды, например, добавить «описание» или кнопку «спонсировать». Подробнее об этом в секции [`<VPTeamMembers>`](#vpteammembers).
Встраивание членов команды в страницу документа хорошо подходит для небольших команд, где наличие полной страницы команды может быть слишком большим, или для представления частичных членов команды в качестве ссылки на контекст документации.
Если у вас большое количество участников или вы просто хотите иметь больше места для отображения членов команды, подумайте о [создании отдельной страницы команды](#create-a-full-team-page).
## Создание отдельной страницы команды {#create-a-full-team-page}
Вместо того чтобы добавлять членов команды на страницу с макетом `doc`, вы можете создать полноценную страницу команды, подобно созданию пользовательской [главной страницы](./default-theme-home-page).
Чтобы создать страницу команды, сначала создайте новый md-файл. Имя файла не имеет значения, но здесь мы назовем его `team.md`. В этом файле установите в блоке метаданных параметр `layout: page`, а затем вы можете организовать структуру страницы, используя компоненты `TeamPage`.
```html
---
layout: page
---
<script setup>
import {
VPTeamPage,
VPTeamPageTitle,
VPTeamMembers
} from 'vitepress/theme'
const members = [
{
avatar: 'https://www.github.com/yyx990803.png',
name: 'Эван Ю',
title: 'Создатель',
links: [
{ icon: 'github', link: 'https://github.com/yyx990803' },
{ icon: 'twitter', link: 'https://twitter.com/youyuxi' }
]
},
...
]
</script>
<VPTeamPage>
<VPTeamPageTitle>
<template #title> Наша команда </template>
<template #lead>
Разработкой VitePress руководит международная команда, некоторые члены
которой представлены ниже.
</template>
</VPTeamPageTitle>
<VPTeamMembers :members="members" />
</VPTeamPage>
```
При создании полной страницы команды не забудьте обернуть все компоненты компонентом `<VPTeamPage>`. Этот компонент обеспечит всем вложенным компонентам, связанным с командой, правильную структуру макета, например, расстояние между ними.
Компонент `<VPPageTitle>` добавляет блок заголовка страницы. Заголовок — это тег `<h1>`. Используйте слоты `#title` и `#lead`, чтобы рассказать о своей команде.
`<VPMembers>` работает так же, как и при использовании в doc-странице. Отобразится список участников.
### Добавление секций для разделения членов команды {#add-sections-to-divide-team-members}
Вы можете добавить «секции» на страницу команды. Например, у вас могут быть разные типы членов команды, такие как члены основной команды и партнёры сообщества. Вы можете разделить этих членов на секции, чтобы лучше объяснить роли каждой группы.
Для этого добавьте компонент `<VPTeamPageSection>` в файл `team.md`, который мы создали ранее.
```html
---
layout: page
---
<script setup>
import {
VPTeamPage,
VPTeamPageTitle,
VPTeamMembers,
VPTeamPageSection
} from 'vitepress/theme'
const coreMembers = [...]
const partners = [...]
</script>
<VPTeamPage>
<VPTeamPageTitle>
<template #title>Наша команда</template>
<template #lead>...</template>
</VPTeamPageTitle>
<VPTeamMembers size="medium" :members="coreMembers" />
<VPTeamPageSection>
<template #title>Партнёры</template>
<template #lead>...</template>
<template #members>
<VPTeamMembers size="small" :members="partners" />
</template>
</VPTeamPageSection>
</VPTeamPage>
```
Компонент `<VPTeamPageSection>` может иметь слоты `#title` и `#lead`, аналогичные компоненту `VPTeamPageTitle`, а также слот `#members` для отображения членов команды.
Не забудьте поместить компонент `<VPTeamMembers>` в слот `#members`.
## `<VPTeamMembers>` {#vpteammembers}
Компонент `<VPTeamMembers>` отображает заданный список членов команды.
```html
<VPTeamMembers
size="medium"
:members="[
{ avatar: '...', name: '...' },
{ avatar: '...', name: '...' },
...
]"
/>
```
```ts
interface Props {
// Размер карточки каждого члена команды. По умолчанию `medium`.
size?: 'small' | 'medium'
// Список членов команды для отображения.
members: TeamMember[]
}
interface TeamMember {
// Изображение аватара.
avatar: string
// Имя члена команды.
name: string
// Заголовок, отображаемый под именем члена команды.
// например: разработчик, инженер-программист и т. д.
title?: string
// Организация, в которой состоит текущий член команды.
org?: string
// URL-адрес сайта организации.
orgLink?: string
// Описание члена команды.
desc?: string
// Социальные ссылки: GitHub, Twitter и т. д.
// Могут быть переданы в виде объекта.
// См. https://vitepress.dev/reference/default-theme-config.html#sociallinks
links?: SocialLink[]
// URL-адрес спонсорской страницы члена команды.
sponsor?: string
// Текст спонсорской ссылки. По умолчанию 'Sponsor'.
actionText?: string
}
```
## `<VPTeamPage>` {#vpteampage}
Корневой компонент при создании отдельной страницы команды. Принимает только один слот. Он будет стилизовать все передаваемые компоненты, связанные с командой.
## `<VPTeamPageTitle>` {#vpteampagetitle}
Добавляет блок «заголовка» страницы. Лучше всего использовать в самом начале внутри `<VPTeamPage>`. Принимает слоты `#title` и `#lead`.
```html
<VPTeamPage>
<VPTeamPageTitle>
<template #title> Наша команда </template>
<template #lead>
Разработкой VitePress руководит международная команда, некоторые члены
которой представлены ниже.
</template>
</VPTeamPageTitle>
</VPTeamPage>
```
## `<VPTeamPageSection>` {#vpteampagesection}
Создает «секцию» на странице команды. Принимает слоты `#title`, `#lead` и `#members`. Внутри `<VPTeamPage>` вы можете добавить столько секций, сколько захотите.
```html
<VPTeamPage>
...
<VPTeamPageSection>
<template #title>Партнёры</template>
<template #lead>Lorem ipsum...</template>
<template #members>
<VPTeamMembers :members="data" />
</template>
</VPTeamPageSection>
</VPTeamPage>
```