Для разработчиков

Форматирование текста

Текст в Пачке форматируется через markdown. Один и тот же набор конструкций работает везде, где вы передаёте текст как markdown.

Где применяется

Движок единый, поэтому набор конструкций одинаков для всех трёх случаев.

Строчные конструкции

ЭлементСинтаксисРезультат
Жирный**это жирный текст** или __это жирный текст__это жирный текст
Курсив*это курсивный текст* или _это курсивный текст_это курсивный текст
Зачеркнутый~~это зачеркнутый текст~~это зачеркнутый текст
Ссылка[текст ссылки](https://www.google.com)текст ссылки
Строчный код`код в тексте`код в тексте
Ссылка без разметкиhttps://example.comhttps://example.com
Изображение![подпись](https://example.com/i.png)ссылка с текстом «подпись»

Блок кода — конструкция из нескольких строк, она разобрана отдельно ниже.

Блоки кода

Открывающий и закрывающий заборы из трёх обратных кавычек должны стоять на отдельных строках. Если написать заборы и текст в одну строку, блок кода не сформируется.

```строка кодастрока кода```

Однострочный вариант вида ```строка кода``` блоком кода не становится. Текст после открывающего забора Пачка считает названием языка, а закрывающий забор на той же строке остаётся обычным текстом.

Язык подсветки

Язык для подсветки синтаксиса указывается сразу после открывающего забора, без пробела. Содержимое начинается со следующей строки.

Блок кода с подсветкой JSON
```json{ "key": "value" }```

Если язык не указать, Пачка определяет его автоматически по содержимому. На кириллическом тексте автоопределение почти всегда даёт 1C, поэтому для обычного текста без кода указывайте язык text — это убирает ошибочную пометку.

Блок кода без подсветки
```textстрока текстастрока текста```

Выбрать язык в интерфейсе формы нельзя, он берётся только из текста.

Заголовки

Строка, начинающаяся с #, распознаётся как заголовок: решётки убираются, а текст становится жирным. Отдельного стиля заголовка у сообщения нет, поэтому # Итоги, ## Итоги и **Итоги** дают один и тот же результат.

Что не поддерживается

Эти конструкции в тексте сообщений, вебхуках и блоках форм не распознаются и остаются обычным текстом (символы -, 1. и > отображаются как есть):

  • маркированные и нумерованные списки
  • цитаты
  • таблицы

Разметка в исходящих вебхуках

Обратное преобразование работает шире, чем разбор. Когда сотрудник пишет сообщение в интерфейсе, оно хранится структурно, а в поле content исходящего вебхука Пачка собирает из этой структуры markdown. Помимо строчных конструкций там появляются цитаты и списки — те самые, которые в обратную сторону не разбираются.

То есть бот получит в content строки с > , - и 1. , даже если сам такой текст отправить не смог бы. Учитывайте это, если разбираете content на своей стороне.

Внутри такой строки строчные конструкции работают: в - **важно** маркер списка останется на месте, а слово станет жирным.

Исключение — подчёркивание. У него нет markdown-синтаксиса, поэтому подчёркнутый в интерфейсе текст приходит в content обычным, и отличить его от неоформленного нельзя.

Если нужен богатый markdown с таблицами, чек-листами, блоками diff и диаграммами mermaid, прикрепите его .md-файлом — Пачка отрендерит файл оформленной карточкой. Подробнее — в разделе Оформление ответов.