Спросите помощника
0/400
Вопрос обрабатывается ИИ-сервисом и сохраняется для улучшения ответов. Не вводите персональные данные.

    Markdown

    Форматированный текст из markdown: заголовки, жирный и курсив, код, ссылки, списки, задачи, цитаты, таблицы.

    Тип: widget

    Markdown "# Заметка\n\nОбычный **жирный** текст."

    Длинному тексту — странице документации, соглашению — место в файле проекта:

    Markdown src:"content/terms.md"

    Параметры

    Параметр Тип Описание
    (позиционный) / text string Markdown-текст
    src string Путь к markdown-файлу проекта от его корня. Тело, написанное в разметке, побеждает
    style TextStyle Базовый стиль; заголовки масштабируются от него
    linkColor Color Цвет ссылок
    selectable bool Можно ли выделять текст
    copyable bool Кнопка «скопировать» на каждом блоке кода. По умолчанию выключена

    Тело из файла ( src: )

    • На сайте файл читается при сборке страницы и уезжает готовым HTML: текст видит поисковый робот, а сам файл раздавать не нужно. Сайт отдаёт только data/** , поэтому файл вне data/ посетителю недоступен — а его текст на странице есть.
    • В приложении файл читается загрузчиком данных проекта, один раз.
    • Файла нет — блок пустой , страница не ломается. Смотрите на то, что собрали.
    • Заданы и тело, и src: — рисуется тело, файл не читается.

    Якоря заголовков

    На сайте каждый заголовок получает id из своего текста: нижний регистр, пробелы — в дефисы, знаки препинания и обратные кавычки убираются. Кириллица остаётся кириллицей.

    Заголовок Якорь
    ## Binding a domain #binding-a-domain
    ## Собственные домены ( domains ) #собственные-домены-domains
    второй ## Setup на той же странице #setup-2

    На раздел можно сослаться с любой страницы, адрес — от корня:

    Text "Как привязать домен"
      #web href:"/guide#binding-a-domain"

    Тем же правилом строит ссылки ИИ-помощник сайта, когда называет раздел, из которого взят ответ.

    Примеры REEEL-кода

    Блок кода, помеченный reeel , раскрашивается так же, как файл в редакторе: имена элементов, параметры, строки, выражения, комментарии. Панель следует теме страницы: светлая на светлой, тёмная на тёмной, со своей таблицей цветов для каждой, — и переключается вместе с темой сама.

    • На сайте раскраска делается при сборке страницы: скрипта нет, ничего не мигает, робот видит тот же текст.
    • Ошибки не подсвечиваются. Пример, который не разбирается, показывается как есть.
    • Блоки на других языках печатаются простым текстом.
    • Длинная строка прокручивается внутри блока, страница вбок не уезжает.
    • В приложении пример рисуется простым текстом: раскраску даёт анализатор, а в собранное приложение он не входит. В превью редактора пример раскрашен.

    Кнопка «скопировать» и живые примеры

    copyable:true ставит на каждый блок кода кнопку, которая копирует его текст, — на сайте и в приложении.

    Блок, чья ограда помечена словом live (три обратные кавычки, затем reeel live ), — пример, который читатель может изменить и запустить. Вот такой блок:

    Text "Привет"

    На сайте у такого блока есть кнопка «Запустить». Сам блок при первом касании становится полем ввода того же размера (без раскраски: её даёт анализатор, а он на сервере). Результат показывается под блоком.

    Что стоит за кнопкой:

    • Где работает. Текст собирает сервер самого сайта ( POST /_reeel/play ), и предлагается это только на сайте документации — docs.reeel.dev и docs.reeel.site . На других сайтах кнопка ответит, что запустить не удалось.
    • Согласие. Пока посетитель не согласился на cookies, со страницы ничего не уходит: кнопка возвращает баннер согласия, и после «да» запуск продолжается сам. На странице должен быть элемент Consent — иначе спросить некому.
    • Пределы. Текст не длиннее 4000 знаков; макросы примера могут скопировать не больше 1000 элементов; сборка — не дольше 50 мс; запусков с одного адреса — 30 в минуту.
    • Что примеру недоступно. Файлы проекта и сеть: import , Markdown src: , JsonData ничего не прочтут, HttpData и картинка по адресу никуда не сходят, Script не исполнится. Темы и строк сайта у примера тоже нет — цвета пишутся числами.
    • Где показывается. В рамке со своим, пустым происхождением: хранилище и cookies сайта ей не видны. Рамка светлая или тёмная вслед за страницей и высотой с то, что пример рисует (до 640 px).
    • live относится только к блокам reeel . В приложении и в превью редактора живой блок — обычный блок кода с кнопкой копирования.

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

    Заголовки # … ###### , **жирный** , *курсив* , код , ссылки текст , маркированные и нумерованные списки, задачи - [x] , цитаты > , блоки кода в тройных обратных кавычках, таблицы GFM, линия --- . Неподдержанная конструкция остаётся текстом, а не исчезает.

    Широкая таблица прокручивается вбок сама — страница при этом не уезжает.

    Текст можно переносить по ширине, как принято в markdown-файлах: перенос строки внутри абзаца, пункта списка или цитаты читается как пробел. Блок заканчивает пустая строка или начало другого блока.

    Чего не делать

    • Не вставляйте страницу прозы строкой в разметку и не режьте её на ключи $strings по абзацу.
    • Не рассчитывайте, что тело, которое меняется в рантайме, нарисуется на сайте: там компилируется только известное на сборке — строка или файл.
    menu_baseline