Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

YEML (язык разметки)

Материал из YastreWiki

YEML (Yastre Error Markup Language) — декларативный язык разметки для описания сценариев в жанре смешных ошибок. Позволяет записать последовательность окон ошибок, TTS-озвучки и системных событий в читаемом текстовом формате.

Язык разработан DimaYastrebov в феврале 2026 года для ошибкоделов. Текущая версия — 1.3. Файлы YEML имеют расширение .yeml.

YEML поддерживает следующие конструкции:

Конструкция Описание
scene Логический блок сценария
error Диалоговое окно с текстом, кнопками и озвучкой
tts Независимая TTS-реплика
event Системные события: загрузка, BSOD, паузы, переходы, и любые другие (даже кастомные события).
// Однострочный комментарий

/*
   Многострочный
   комментарий
*/

Метаданные файла

править править код

Объявляются в начале файла, до первой сцены.

@yeml 1.3
@title "Название выпуска"
@series "Название серии"
@author "Автор"
@date "2026-02-25"
@url "https://youtube.com/watch?v=..."
@created_by "Кто создал файл"

Обязательно только @yeml — версия протокола. Остальные поля опциональны.

Сцена — основной контейнер сценария. Перед ней указывается операционная система через @system.

@system windows_xp
scene "Название" {
  // события
}

Возможные значения @system:

Значение Описание
windows_xp Windows XP
windows_7 Windows 7
windows_10 Windows 10
windows_11 Windows 11
ubuntu 22.04 Ubuntu 22.04

Переопределяет автора для конкретной сцены. Актуально для коллабораций.

@author "Другой автор"
scene "Его часть" {
  // ...
}

Привязывает сцену к моменту или отрезку оригинального видео.

@timeline "0:00:15"
@timeline "0:01:30" - "0:04:20"

Диалоговое окно ошибки. Единственное обязательное поле — text.

error {
  title: "Заголовок"
  text: "Текст ошибки"
  icon: "error"
  buttons: [
    {"id": "ok", "text": "OK", "type": "default"}
  ]
  choice: "ok"
  tts: {
    voice: "nikolai"
    text: "Озвучка"
  }
}

Поле icon принимает любое значение.

Типы кнопок (type):

Значение Описание
default Обычная кнопка
recommended Рекомендуемая (выделена)
disabled Неактивная

Поле closable — наличие крестика закрытия. По умолчанию true.

Поле sound — звуковой файл при появлении окна. Опционален.

Поле timeline: — привязывает окно к моменту или отрезку видео. Опционально.

error {
  timeline: "0:02:14"
  text: "Текст ошибки"
}

error {
  timeline: "0:02:14" - "0:02:30"
  text: "Текст ошибки"
}

Независимая реплика, не привязанная к окну ошибки.

tts {
  voice: "nikolai"
  text: "Текст"
}

Стандартные голоса:

Значение Описание
nikolai Голос Николай
maxim Голос Максим
irina Голос Ирина

Кастомные голоса тоже допустимы.

Системные события. Тип задаётся через type.

event {
  type: "boot"
}

event {
  type: "bsod"
}

event {
  type: "wait", duration: 2
}

event {
  type: "timeskip",
  text: "Три часа спустя...",
  duration: 3
}

event {
  type: "fade_to_black"
}

Стандартные типы событий

править править код
Тип Описание
boot Загрузка системы
bsod Синий экран смерти
wait Пауза (параметр duration — секунды)
timeskip Пропуск времени с текстом на экране
fade_to_black Затухание экрана

Кастомные типы тоже допустимы.

@yeml 1.3
@title "Название выпуска"
@author "Автор"

@system windows_xp
@timeline "0:00:05" - "0:02:50"
scene "Название сцены" {
  tts {
    voice: "nikolai"
    text: "Текст реплики"
  }

  error {
    title: "Заголовок окна"
    text: "Текст ошибки"
    icon: "error"
    buttons: [
      {"id": "ok", "text": "OK", "type": "default"}
    ]
    choice: "ok"
  }
}

История версий

править править код
Версия Дата Изменения
1.3 Февраль 2026 Добавлен @timeline для сцен и поле timeline: в error. Добавлены метаданные @date, @url, @created_by.
1.2 Февраль 2026 Добавлен @author на уровне сцены для коллабораций. name, sound, duration в event стали опциональными.
1.1 Февраль 2026 Добавлены метаданные файла: @yeml, @title, @series, @author. icon, buttons, choice в error стали опциональными.
1.0 Февраль 2026 Первая версия. Базовые конструкции: @system, scene, error, tts, event.