Шорткоды — справочник для техписателей
Справочник шорткодов
1. Callout — предупреждение / важная информация
Подключение к платформе MAX для партнёров доступно для юрлиц и ИП, которые являются резидентами РФ
callout с переменной из assets/css/callout-colors.css
callout с переменной из assets/css/callout-colors.css
callout с переменной из assets/css/callout-colors.css
Callout с произвольным hex-кодом цвета
Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
color | нет | Цвет фона блока. Можно передать имя CSS-переменной из assets/css/shortcodes/callout.css (например --callout-warning), либо произвольное CSS-значение: hex (#FF990020), rgb(...) и т.д. По умолчанию используется акцентный цвет темы |
| Пример | {{< callout color="--callout-warning" >}} Текст {{< /callout >}} | |
Доступные именованные цвета (из assets/css/callout-colors.css):
| Переменная | Цвет |
|---|---|
--callout-info | синий — информация |
--callout-warning | оранжевый — предупреждение |
--callout-danger | красный — опасность |
--callout-tip | зелёный — совет |
--callout-neutral | серый — нейтральный |
Новые цвета можно добавить в файл
assets/css/callout-colors.cssв блок:root.
2. Карточки навигации
Иконки: bot, partners, platform
cell-grid — обёртка-контейнер:
Параметров нет. Принимает один или несколько cell в теле
cell — одна карточка-ссылка:
| Параметр | Обязательный | Описание |
|---|---|---|
href | да | URL для перехода |
icon | нет | Иконка. Допустимые значения: bot, partners, platform |
variant | нет | CSS-вариант отображения |
| Пример | {{< cell href="/docs/chatbots/" icon="bot" >}}Создание чат-бота{{< /cell >}} | |
3. FAQ — раскрывающийся вопрос-ответ
Как создать чат-бота?
Сколько ботов можно создать?
Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
summary | да | Текст вопроса / заголовка раскрывающегося блока. Поддерживает Markdown |
| Пример | {{< details summary="Как создать чат-бота?" >}} Ответ {{< /details >}} | |
4. HTTP-метод бейдж
GET/messages
POST/messages
DELETE/subscriptions
PATCH/me
Методы: GET, POST, PUT, DELETE, PATCH
Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
method | да | HTTP-метод. Допустимые значения: GET, POST, PUT, DELETE, PATCH |
path | да | Путь эндпоинта, например /messages |
| Пример | {{< api-badge method="POST" path="/messages" >}} | |
5. API-параметры — «таблица без заголовка»
image, video, audio, file
Структура:
api-params— обёртка секции: рисует верхнюю черту и группирует строки. Внутри размещаются толькоapi-param/api-param-childrenapi-param— строка-параметрapi-param-children— поддерево разворачиваемой строки (скрыто, пока строка не развёрнута кнопкой)
Параметры api-param:
| Параметр | Обязательный | Описание |
|---|---|---|
name | да | Название параметра API |
type | да | Тип данных: string, integer, boolean, array, object и др. |
required | нет | "false" — зелёная метка optional. Обязательные поля пишутся без метки |
pattern | нет | Паттерн значения, отображается моноширинным акцентным цветом под типом |
collapsible | нет | "true" — показать кнопку разворота поддерева; за строкой размещается api-param-children |
| Пример | {{< api-param name="chat_id" type="integer" required="true" >}} Описание {{< /api-param >}} | |
6. Табы с кодом
curl -X POST "https://platform-api.max.ru/messages" \
-H "Authorization: <token>" \
-H "Content-Type: application/json" \
-d '{"chat_id": 123, "text": "Hello"}'import requests
requests.post(
"https://platform-api.max.ru/messages",
headers={"Authorization": token},
json={"chat_id": 123, "text": "Hello"}
)
code-tabs — контейнер с переключателем вкладок:
| Параметр | Обязательный | Описание |
|---|---|---|
позиционные (0…N) | да | Названия вкладок в порядке следования, например "cURL" "Python" |
| Пример | {{< code-tabs "cURL" "Python" >}} ... {{< /code-tabs >}} | |
code-tab — одна вкладка с кодом:
| Параметр | Обязательный | Описание |
|---|---|---|
lang | да | Язык подсветки синтаксиса: bash, python, go, json и др. |
| Пример | {{< code-tab lang="bash" >}} curl ... {{< /code-tab >}} | |
7. Блок кода
import requests
requests.post(
"https://platform-api.max.ru/messages",
headers={"Authorization": token},
json={"chat_id": 123, "text": "Hello"}
)Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
lang | нет | Язык подсветки синтаксиса: bash, python, go, json, JSX и др. По умолчанию text |
label | нет | Текст в заголовке блока. По умолчанию берётся из lang |
| Пример | {{% code-card lang="python" label="python" %}} print("hello") {{% /code-card %}} | |
8. Карточка с логотипами:

cards — контейнер для нескольких карточек:
card — одна карточка:
| Параметр | Обязательный | Описание |
|---|---|---|
title | нет | Заголовок карточки |
href | нет | URL для перехода. По умолчанию # |
image | нет | Путь к изображению / логотипу |
icon | нет | Иконка из набора VK Icons |
alt | нет | Альтернативный текст для изображения. По умолчанию берётся из title |
media | нет | Вариант отображения медиа: "icon" (по умолчанию) или "logo" |
target | нет | Атрибут target ссылки, например "_blank" |
rel | нет | Атрибут rel ссылки. По умолчанию "noopener noreferrer" |
| Пример | {{< card title="Jivo" href="https://www.jivo.ru" target="_blank" image="/assets/logo.png" alt="Jivo" media="logo" >}} Описание {{< /card >}} | |
9. Одинокая карточка.
Параметры: те же, что у card в пункте 8.
10. Просмотр изображения

Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
src | да | Путь к изображению. Поддерживает {theme} для переключения по теме: light/dark |
alt | нет | Альтернативный текст |
title | нет | Всплывающая подсказка |
width | нет | Максимальная ширина изображения. Число без единиц → пиксели (300 = 300px), или с единицами (50%, 20rem) |
border | нет | Рамка. Цвет (#DBE2E9, red) → 1px solid <цвет>; none; полный shorthand (2px dashed red); CSS-переменная (--border-color) |
radius | нет | Скругление углов. Число → px (16 = 16px), либо с единицами (50%, 0). Если задан border без radius — углы прямые (0) |
shadow | нет | Тень (0 4px 12px rgba(0,0,0,.12)) или CSS-переменная (--shadow-card) |
class | нет | Доп. CSS-класс(ы) обёртки |
| Пример | {{< image-zoom src="/assets/image.png" width="300" border="#DBE2E9" radius="16px" alt="Описание" >}} | |
Markdown-синтаксис (зум + декорация):
Все markdown-изображения автоматически поддерживают зум по клику.
Декорация задаётся в поле title (третий параметр) в формате ключ:значение,
пары разделяются ;:


')
Доступные ключи: width, border, radius, shadow (правила нормализации те же, что у параметров шорткода).
Число без единиц → пиксели. Если title НЕ начинается с ключ: — он трактуется как обычная всплывающая подсказка.
Подпись под одиночной картинкой
Если после картинки (markdown или шорткода {{< image-zoom >}}) следующей
строкой написать курсивную подпись _текст_, она автоматически оформится как
подпись: по центру, 14px, цвет вторичного текста темы — как на портале
dev.max.ru. Работает и внутри {{< details >}}:

_Данные и профиль бота_
Данные и профиль бота
Подпись можно писать и в той же строке сразу после картинки — _Подпись_ — оформление будет тем же.
11. Слайдер изображений
Лента изображений (layout="strip")
Горизонтальная прокручиваемая лента — несколько изображений видны одновременно, прокрутка нативная (с «прилипанием» к слайдам). Кнопки навигации и точки скрыты.
Подпись под слайдером
Если сразу после {{< /slider >}} следующей строкой написать курсивную подпись _текст_,
она автоматически оформится как подпись под слайдером: по центру, 14px,
цвет вторичного текста темы — как на портале dev.max.ru:
{{< slider layout="strip" >}}
{{< slide src="..." alt="..." >}}
{{< /slider >}}
_Подпись под слайдером_
slider — контейнер слайдера:
| Параметр | Обязательный | Описание |
|---|---|---|
layout | нет | slide (по умолчанию) — карусель по одному слайду; strip — прокручиваемая лента с нативным скроллом |
border | нет | Рамка обёртки (цвет → 1px solid <цвет>, none, полный shorthand, CSS-переменная). Для strip обычно не задаётся |
radius | нет | Скругление обёртки. Число → px. Если border без radius — углы прямые |
shadow | нет | Тень обёртки или CSS-переменная |
class | нет | Доп. CSS-класс(ы) обёртки |
slide — один слайд с изображением:
| Параметр | Обязательный | Описание |
|---|---|---|
src | да | Путь к изображению |
alt | нет | Альтернативный текст |
width | нет | Кастомная ширина (только slide-режим): 300px, 50%, 20rem. Центрируется, высота пропорциональна |
min-width | нет | Минимальная ширина слайда (только strip-режим): 300px, 50%. По умолчанию 50% |
max-width | нет | Максимальная ширина изображения: 350px, 50% |
max-height | нет | Максимальная высота изображения: 290px, 80vh |
border | нет | Рамка изображения (те же правила нормализации, что у image-zoom) |
radius | нет | Скругление углов изображения. Число → px. Если border без radius — углы прямые |
shadow | нет | Тень изображения или CSS-переменная |
class | нет | Доп. CSS-класс(ы) слайда |
| Пример | {{< slide src="/assets/image.png" alt="Описание" min-width="300px" border="#DBE2E9" radius="31px" >}} | |
12. Расширенные возможности таблиц
Markdown-таблицы поддерживают дополнительный синтаксис для переноса строк, списков и объединения ячеек.
Переносы строк
В ячейках таблиц можно использовать <br> для переноса строк:
| Поле | Описание |
| --- | --- |
| `param` | Первая строка<br><br>Вторая строка |Списки в ячейках
Если ячейка начинается с - или * , она преобразуется в маркированный список.
Элементы разделяются <br> + маркер:
| Поле | Значения |
| --- | --- |
| `type` | - `DIALOG`<br>- `CHAT`<br>- `CHANNEL` |Выравнивание колонок
Стандартный Markdown-синтаксис выравнивания в строке разделителя задаёт
text-align для заголовка и ячеек колонки: :--- — влево, :---: — по центру,
---: — вправо:
| Поле | Количество |
| :--- | :---: |
| Значение 1 | 10 |Colspan (горизонтальное объединение)
Пустая ячейка || объединяется с предыдущей непустой ячейкой, увеличивая её colspan:
| A | B | C | D |
| --- | --- | --- | --- |
| Объединённая на 3 колонки ||| Последняя |Rowspan (вертикальное объединение)
Ячейка, начинающаяся с ^^, объединяется с ячейкой выше:
| Группа | Поле |
| --- | --- |
| Пользователь | `user.id` |
| ^^ | `user.name` |
| ^^ | `user.photo` |13. Иконка
Вставляет SVG-иконку из набора VK Icons инлайном в текст. Цвет наследуется от текста (currentColor) — в ссылке иконка будет акцентной, в обычном тексте — цветом текста.
Успешно отправлено Открыть платформу
Цвет можно задать параметром color — любое CSS-значение цвета: #2688EB, red, var(--accent).
Синяя Красная Акцентная
Без параметра цвет наследуется от текста: в ссылке иконка акцентная, в обычном тексте — цвет текста.
Параметры:
| Параметр | Обязательный | Описание |
|---|---|---|
name | да | Имя иконки, как на сайте VK Icons, например check_circle |
size | нет | Размер иконки: 12, 16, 20, 24, 28, 32, 34, 36, 40, 44, 48, 56, 64, 96. По умолчанию 20 |
color | нет | CSS-цвет иконки: #2688EB, red, var(--accent). По умолчанию — наследуется от текста |
| Пример | {{< icon name="check_circle" size="16" color="#2688EB" >}} | |
Доступные иконки
Все уже скачанные иконки — в каталоге ниже. Если нужной нет, найдите её на vkcom.github.io/icons и просто вставьте шорткод с её именем — при следующей сборке (npm run dev или npm run build) SVG скачается автоматически.
Как вставить иконку:
- Найдите нужную иконку в каталоге выше (или на vkcom.github.io/icons) и скопируйте её имя.
- Вставьте шорткод
{{< icon name="имя" size="16" >}}в нужную страницу.
Если сборка упала с ошибкой «icon not found» — проверьте имя по ссылке из ошибки и запустите npm run icons:sync. Не забудьте закоммитить скачанный SVG-файл из assets/icons/vk/.
Стандартный Markdown (без шорткодов)
Блок кода
def hello():
print("Hello!")Таблица
| Код | Описание |
|---|---|
| 200 | Успешный запрос |
| 400 | Некорректный запрос |
| 401 | Неавторизован |