Как добавлять документацию
Сайт собирается из обычных Markdown-файлов в каталоге docs/. Каждый .md-файл — отдельная страница.
Структура каталогов
docs/
├── .vitepress/config.ts # конфигурация: навбар, сайдбар, локали
├── public/ # статика: картинки (images/), видео (videos/), логотипы
├── index.md # «Вводная» — главная страница сайта
├── guide/ # страницы руководства
│ ├── network-account.md
│ ├── triggers.md
│ └── ...
└── en/ # английская локаль (зеркалит структуру корня)
├── index.md
└── guide/...- Русская версия — в корне
docs/, английская — вdocs/en/с той же структурой путей. - URL страницы повторяет путь файла:
docs/guide/triggers.md→/docs/guide/triggers(расширение.htmlне нужно, включёнcleanUrls; сайт живёт в подпапке/docs, префикс задан черезbase). docs/index.md(«Вводная») — главная страница сайта, открывается прямо на cpapony.ru/docs.
Добавление новой страницы
- Создайте файл, например
docs/guide/triggers.md:
md
# Триггеры
Описание работы триггеров...
## Условия
Текст раздела — заголовки `##` автоматически попадут в оглавление справа.- Добавьте страницу в сайдбар — откройте
docs/.vitepress/config.ts, найдитеlocales.root.themeConfig.sidebarи допишите пункт:
ts
sidebar: {
'/': [
{
text: 'Автоматизация',
items: [
{ text: 'Сценарии', link: '/guide/workflows' },
{ text: 'Триггеры', link: '/guide/triggers' }, // новая страница
],
},
],
},- Для английской версии создайте зеркальный файл
docs/en/guide/triggers.mdи добавьте его вlocales.en.themeConfig.sidebar(link: '/en/guide/triggers').
Новый раздел (не «Руководство»)
- Создайте каталог, например
docs/api/сindex.mdвнутри. - В
config.tsдобавьте ссылку вnavи отдельный ключ вsidebar:
ts
nav: [
{ text: 'Руководство', link: '/' },
{ text: 'API', link: '/api/' },
],
sidebar: {
'/': [ /* ... */ ],
'/api/': [
{ text: 'API', items: [{ text: 'Обзор', link: '/api/' }] },
],
},Картинки и файлы
- Кладите их в
docs/public/и ссылайтесь от корня:(файл при этом лежит вdocs/public/images/trigger-flow.png). - Либо кладите рядом с
.mdи ссылайтесь относительно:.
Полезные возможности Markdown в VitePress
Подсветка синтаксиса с указанием языка и выделением строк:
md
```python{2}
def evaluate(trigger):
return trigger.check_conditions() # эта строка будет подсвечена
```Контейнеры-подсказки:
md
::: tip Совет
Полезная информация.
:::
::: warning Внимание
Важное предупреждение.
:::
::: danger Осторожно
Критичная информация.
:::Группы табов для примеров кода:
md
::: code-group
```bash [curl]
curl https://api.cpapony.com/api/v1/campaigns
```
```python [Python]
requests.get("https://api.cpapony.com/api/v1/campaigns")
```
:::Полный справочник — vitepress.dev/guide/markdown.
Проверка и публикация
bash
# локальная разработка с горячей перезагрузкой — http://localhost:5173
npm run docs:dev
# продакшен-сборка (упадёт с ошибкой при битых ссылках) и её просмотр
npm run docs:build
npm run docs:previewПубликация на cpapony.ru/docs / cpapony.com/docs:
bash
cd deploy
./docker-build.sh --patch # соберёт мультиарх-образ, запушит в registry, поднимет VERSIONЗатем на сервере: ./update-services.sh (или точечно docker compose -f doc-compose.yml pull && docker compose -f doc-compose.yml up -d).
Подробнее о деплое — в README.md репозитория.

