Перейти к основному содержимому

Умный ввод

Веб-редактор включает несколько функций умного ввода, которые автоматически обрабатывают типовые задачи, позволяя вам сосредоточиться на написании истории.

Умный дефис: - в ->

Когда вы вводите - в начале строки в теле узла, символ автоматически раскрывается в -> (стрелка опции с пробелом). Это экономит нажатия при создании вариантов выбора.

Пример:

Вы вводите:

-

Редактор вставляет:

->

Далее продолжайте вводить текст опции:

-> Пойти в лес
Когда это работает

Умный дефис активируется только в начале новой строки в теле узла (после ---), и только если предыдущая строка не является разделителем. Он не сработает в заголовках или после ===.

Автозамена: $ и :

Редактор автоматически заменяет специальные символы, имеющие синтаксическое значение в Yarn, на их безопасные эквиваленты.

Знак доллара $ в [usd/]

В тексте сообщений символ $ используется для переменных ($name). Если вам нужен буквальный знак доллара (например, в цене), просто введите $, и редактор заменит его на [usd/].

Пример:

Вы вводите:

Предмет стоит $

Редактор выдаёт:

Предмет стоит [usd/]

В игре пользователь увидит:

Предмет стоит $
Исключение

Если после $ следует буква или подчёркивание (как в $name), редактор не заменяет символ — это воспринимается как ссылка на переменную.

Двоеточие : в [cl/]

Первое двоеточие в строке используется как разделитель спикера (Анна: Привет!). Если вам нужно второе двоеточие в той же строке, редактор автоматически заменяет его на [cl/].

Пример:

Вы вводите:

Анна: Время 12:

Редактор выдаёт:

Анна: Время 12[cl/]

В игре пользователь увидит:

Анна:
Время 12:
Первое двоеточие

Первое двоеточие в строке никогда не заменяется — оно определяет имя спикера. Заменяются только последующие двоеточия.

Автоэкранирование спецсимволов

Символы, имеющие специальное значение в синтаксисе Yarn, автоматически экранируются символом \ при вводе в тексте сообщения:

СимволЭкранируется какЗначение в Yarn
[\[Открывает тег
]\]Закрывает тег
<\<Открывает команду
>\>Закрывает команду
{\{Открывает интерполяцию переменной
}\}Закрывает интерполяцию переменной
#\#Тег строки
/\/Используется в закрывающих тегах

Пример:

Вы вводите в строке сообщения:

Нажмите клавишу [Enter]

Редактор выдаёт:

Нажмите клавишу \[Enter\]
Когда экранирование не применяется

Автоэкранирование не срабатывает:

  • В начале строки (чтобы можно было писать [photo=...] и <<команды>>)
  • Внутри синтаксических блоков (<< >>, [ ], { })
  • Если перед символом уже стоит \

Умный Enter

Нажатие Enter в строке сообщения работает иначе, чем в обычном текстовом редакторе:

Первый Enter: вставка [br/]

При первом нажатии Enter в сообщении вместо переноса строки вставляется тег [br/]. Это создаёт перенос строки внутри одного сообщения Telegram.

Пример:

Вы вводите:

Первая строка

Нажимаете Enter:

Первая строка[br/]

Продолжаете вводить:

Первая строка[br/]Вторая строка

В игре пользователь увидит одно сообщение:

Первая строка
Вторая строка

Второй Enter: новая строка

Если вы нажмёте Enter ещё раз сразу после [br/], тег удаляется и вставляется настоящий перенос строки. Это начинает новое сообщение.

Пример:

После ввода Первая строка[br/] нажмите Enter ещё раз:

Первая строка

Курсор перемещается на следующую строку, и новая строка становится отдельным сообщением.

Ctrl/Cmd + Enter: всегда новая строка

Нажмите Ctrl+Enter (или Cmd+Enter на macOS), чтобы всегда вставить настоящий перенос строки, пропустив поведение с [br/].

Сводка
ДействиеРезультат
Enter (первый)Вставляет [br/] (перенос внутри сообщения)
Enter (второй, после [br/])Удаляет [br/], вставляет новую строку (новое сообщение)
Ctrl/Cmd + EnterВсегда вставляет новую строку (новое сообщение)