• Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
OnPress OnPress
  • Документация
  • Контакты
Войти
    • Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
Страницы
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Синтаксис markdown

Тело страницы после frontmatter конвертируется в блоки Гутенберга построчно. Конвертер намеренно простой — он байт в байт совпадает с конвертером первой версии API, чтобы повторная публикация не давала пустого диффа. Поэтому ниже не «markdown вообще», а ровно то, что он понимает.

Абзацы и переносы

Абзац — строки подряд до пустой строки. Каждый перевод строки внутри абзаца становится <br>, а не пробелом. Пишите абзац одной строкой; переносите только там, где нужен настоящий разрыв.

Первый абзац одной строкой.

Второй абзац.
Эта строка уйдёт после <br>.

Выделение, код и ссылки

ПишетеПолучаете
**жирный** или __жирный__<strong>
*курсив* или _курсив_<em>
обратные кавычки вокруг текста<code>, содержимое экранируется
[текст](/docs/v2/ru/)ссылка; адрес любой — путь или полный URL

Звёздочка и подчёркивание ищут пару до конца строки, поэтому идентификаторы вида pages.*, menu.* или _onpress_frame в обычном тексте превратятся в курсив и потеряют символы. Любой код, имя поля или путь заключайте в обратные кавычки — внутри них разметка не работает. Экранирования обратным слешем нет. Автоссылок нет: адрес без […](…) останется текстом. HTML внутри абзаца проходит как есть, без экранирования.

Заголовки

# … ###### и пробел. Уровень сохраняется. При сборке страницы у каждого заголовка H2–H6 появляется якорь id — слаг его текста (## Как это работает → #kak-eto-rabotaet), при повторе с числовым хвостом (-1, -2). На эти якоря ведёт оглавление onpress/outline, и на них можно ссылаться: [см. ниже](#kak-eto-rabotaet).

Нужен ли # Заголовок в теле, зависит от фрейма: если фрейм выводит название страницы сам (биндом page.title), H1 в теле даст второй H1 на странице. Посмотрите разметку фрейма (GET /frames/{slug}) и пишите H1 только туда, где фрейм его не выводит.

Списки

- пункт
- ещё пункт

1. первый
2. второй

Маркеры — - или * и пробел, нумерованные — цифры, точка и пробел; номера не сохраняются, нумерация всегда с единицы. Вложенных списков нет: строка с отступом перед маркером перестаёт быть пунктом и приклеивается к предыдущему. Нужна вложенность — таблица или блок core/html.

Осторожно с абзацем, который начинается с числа и точки: 2026. Год, когда… станет нумерованным списком.

Цитаты

> Первая строка цитаты
> вторая строка

Строки подряд с > — одна цитата, строки соединяются через <br>.

Таблицы

| Поле | Тип | Описание |
|---|---|---|
| `name` | string | заголовок |
| `slug` | string | слаг |

Первая строка — шапка. Строка из дефисов и двоеточий после неё — разделитель, её можно опустить. Выравнивание по двоеточиям не применяется. Вертикальная черта внутри ячейки невозможна даже в обратных кавычках: она всегда делит ячейки. Пишите «или», запятую или &#124;.

Код

Блок кода открывает строка из трёх обратных кавычек, сразу за которыми идёт имя языка (bash, json, html, markdown, php…), и закрывает строка из трёх обратных кавычек без ничего. Пример ниже — блок с языком bash:

curl -s "$API/health"

Язык становится классом language-bash у тега code — по нему работает подсветка. Допустимы латиница, цифры, +, # и -, до 20 символов. Содержимое экранируется целиком, поэтому внутри кода можно писать любую разметку, в том числе <!-- onpress/… -->, — она останется текстом. Вложить один блок кода в другой нельзя: первая же строка из трёх обратных кавычек закроет внешний блок.

Разделитель

Строка из трёх и более -, * или _ — горизонтальная линия.

Картинки

![Схема сборки страницы](/wp-content/uploads/sites/1/2026/09/shema.png "Подпись под картинкой")

Картинка должна стоять одна на строке: ![…](…) и текст станет абзацем. Текст в квадратных скобках — alt. Текст в кавычках после адреса — подпись (figcaption), в ней работает выделение и ссылки. Пустой адрес — картинка выбрасывается.

Адрес берите из поля path ответа загрузки медиа: путь от корня сайта работает на любом домене сайта и переживает смену домена. Картинка из медиатеки сайта при сборке превращается в <picture> с размерами и WebP-копиями; чужой адрес выводится как есть.

Сырые блоки Гутенберга

Строка, начинающаяся с <!-- wp:, — начало блока; конвертер забирает его целиком до парного закрытия и кладёт в тело байт в байт. Так вставляется всё, чего нет в markdown:

<!-- wp:html -->
<div class="promo"><a class="btn" href="/tarify/">Выбрать тариф</a></div>
<!-- /wp:html -->

<!-- wp:paragraph {"className":"lead"} -->
<p class="lead">Абзац с классом.</p>
<!-- /wp:paragraph -->

Блоки плагина onpress-blocks — <!-- wp:onpress/… --> (кнопки, карточки, шаги) — тоже пишутся так. Не путайте их со вставками: wp:onpress/… — блок плагина, onpress/… без wp: — вставка (см. синтаксис вставок). Можно передать их и отдельно — полем blocks в теле запроса, они встанут после текста. ACF-блоки v2 не пишет (501 acf_block_unsupported).

Вставки onpress/ в теле страницы

Строки <!-- onpress/… --> проходят в тело так же, как блоки Гутенберга, и выполняются при сборке. В теле страницы полезны:

Фрейм внутри текста — общий блок, который правится в одном месте; после его правки кэш страницы сбрасывается сам:

<!-- onpress/frame {"name":"article__cta"} /-->

Фрейм с параметрами и слотом — вызов передаёт фрейму атрибуты (frame.<ключ> внутри) и markdown между открытием и закрытием. Содержимое слота остаётся в теле как есть: выгрузка и повторная заливка его не меняют, а перед вызовом выгрузка ставит пустую строку после заголовка. Подробно — параметры и слот.

## FAQ

<!-- onpress/frame {"name":"faq"} -->
### Сколько стоит?

Бесплатно на старте.
<!-- /onpress/frame -->

Значение — onpress/value выводит один токен без тега. В теле страницы ставьте его только отдельной строкой: внутри строки абзаца выгрузка в markdown его теряет.

<!-- onpress/value {"bind":"page.data.rating"} /-->

Вопросы и ответы прямо в тексте — аккордеон и разметка FAQPage из обычного markdown:

## Частые вопросы

<!-- onpress/faq -->
### Сколько стоит?

Бесплатно на старте.

### Нужна ли карта?

Нет.
<!-- /onpress/faq -->

Врезка. Внутри onpress/callout текст не конвертируется из markdown — пишите HTML или блоки Гутенберга:

<!-- onpress/callout {"variant":"warning","title":"Внимание"} -->
<p>Перевыпуск токена <strong>сразу</strong> отключает старый.</p>
<!-- /onpress/callout -->

Список из данных — повторитель по набору или источнику прямо в тексте:

<!-- wp:html -->
<ul class="team">
<!-- onpress/repeat {"source":"team"} -->
<li><strong data-op-bind='{"text":"item.name"}'></strong> — <span data-op-bind='{"text":"item.role"}'></span></li>
<!-- /onpress/repeat -->
</ul>
<!-- /wp:html -->

Все вставки и их атрибуты — в справочнике вставок. Вставки, которые выводят части оболочки (onpress/docs-nav, onpress/outline, onpress/pager, onpress/share-ai), место имеют во фрейме, а не в тексте.

Одна тонкость: пустая строка разрывает сырой блок только снаружи. Внутри парной вставки или блока пустые строки допустимы — конвертер собирает всё до закрывающего комментария с тем же именем.

Обратная выгрузка

GET /pages/{ref}/markdown превращает блоки обратно в markdown тем же конвертером: абзацы, заголовки, списки, таблицы, код, картинки с подписями (![alt](url "подпись")) возвращаются в markdown, а сырые блоки Гутенберга и вставки onpress/ — байт в байт как были. Поэтому публиковать можно и выгруженный файл, не боясь потерь.

Как проверить результат

Ответ публикации несёт поле blocks — разобранные блоки, в которые превратилось тело. Непонятно, что получилось, — опубликуйте черновиком (status: draft) и посмотрите blocks и preview_url.

arrow_backНазад
Frontmatter: все поля
Далееarrow_forward
Языки и переводы страниц
На этой странице
  • Абзацы и переносы
    • Выделение, код и ссылки
      • Заголовки
        • Списки
          • Цитаты
            • Таблицы
              • Код
                • Разделитель
                  • Картинки
                    • Сырые блоки Гутенберга
                      • Вставки onpress/ в теле страницы
                        • Обратная выгрузка
                          • Как проверить результат
                          OnPress
                          OnPress
                          ИП Зуев И.В. ИНН: 360408359441
                          © 2026
                          политика конфиденциальности публичная оферта
                          • visa
                          • mastercard
                          • sber
                          • tpay