Живые примеры
У части примеров на этом сайте есть кнопка «Запустить». Такой пример можно изменить прямо на странице и посмотреть, что получится. Вот самый маленький:
Text "Привет"
Нажмите на код — он станет полем ввода. Поменяйте текст в кавычках и нажмите «Запустить».
Что происходит по кнопке
- Текст примера уходит на сервер этого же сайта.
- Сервер собирает из него страницу — тем же компилятором, который собирает сайты на REEEL.
- Страница возвращается и показывается в рамке под примером.
Раскраска кода пропадает, когда вы начинаете его править: её считает анализатор, а он работает на сервере, не в браузере.
Согласие на cookies
Пока вы не согласились на cookies, со страницы ничего не уходит. Кнопка «Запустить» в этом случае возвращает баннер согласия; после «Принять все» пример запустится сам.
Пределы
| Что | Сколько |
|---|---|
| Длина текста примера | до 4000 знаков |
| Элементов, которые могут скопировать макросы | до 1000 |
| Время сборки | до 50 мс |
| Запусков с одного адреса | до 30 в минуту |
| Высота рамки с результатом | до 640 px |
Обычному примеру до этих пределов далеко: самый большой пример в документации копирует макросами 12 элементов и собирается за несколько миллисекунд.
Чего пример не может
-
Читать файлы.
import,Markdown src:,JsonDataи картинка из проекта ничего не получат: у примера нет проекта. -
Ходить в сеть.
HttpDataи картинка по адресу соберутся, но никуда не обратятся. -
Брать тему и строки сайта.
$themeи$stringsу примера пустые — цвета пишутся числами, тексты строками. - Трогать эту страницу. Результат показывается в отдельной рамке со своим происхождением: хранилище и cookies сайта ей не видны.
Макрос, который зовёт себя дважды
Предел на макросы появился из-за одного примера. Макрос, который дважды зовёт следующий, удваивает дерево на каждом уровне:
@A
Column
$B
$B
@B
Column
$C
$C
@C
Text "x"
$A
Три уровня — это четыре текста. Двадцать шесть — 67 миллионов элементов из сотни строк. Поэтому разбор считает, сколько элементов скопировано из макросов, и останавливается: в примере на этом сайте — на тысяче, в настоящем проекте — на ста тысячах. Самая большая страница настоящего сайта копирует около двадцати тысяч.
Где ещё есть кнопка «Запустить»
Только на этом сайте. Кнопка «Скопировать» есть у любого блока кода в
Markdown
, если автор включил
copyable:true
; запуск примеров сервер предлагает только на сайте документации. Подробнее — в описании элемента
Markdown
.