Форматировщик и валидатор YAML - исправить отступы, найти ошибку
Форматировщик и валидатор YAML
Что делает этот инструмент
В YAML нет скобок: структуру задаёт отступ. Это удобно читать и легко сломать — один лишний пробел, и ключ оказывается под чужим родителем. Инструмент приводит отступы к единой ширине, показывает, где документ сломан, и как он читается на самом деле.
Как пользоваться
- 1 Вставьте YAML в поле и выберите ширину отступа — обычно это два пробела.
- 2 Нажмите «Форматировать», чтобы выровнять отступы, или «Проверить», чтобы проверить документ, не меняя ни символа.
- 3 Не уверены, что значение читается так, как вы задумали? Нажмите «В JSON» и посмотрите.
Табуляция — не отступ
Спецификация YAML запрещает табуляцию в отступах, и большинство парсеров просто отклоняют файл. Их сообщение редко помогает: указанная строка обычно идёт после настоящей проблемы. Этот инструмент называет строку, в которой стоит табуляция.
Комментарии остаются
Многие форматировщики разбирают документ в дерево и печатают заново. Получается аккуратно — и удаляются все ваши комментарии, что делает результат непригодным для docker-compose или CI-конвейера. Этот переписывает только ведущие пробелы: комментарии, порядок ключей и стиль кавычек остаются как были.
Почему NO превратилось в false
В YAML 1.1 голые слова yes, no, on и off были булевыми. Список стран с кодом NO для Норвегии поэтому загружался как false — ошибка настолько известная, что у неё есть имя. YAML 1.2 отменил это правило, и инструмент следует 1.2: ключевые слова только true, false и null. Нужен булев — пишите true или false; нужен текст — он у вас уже есть.
Якоря, псевдонимы и блочные скаляры
Якорь (&имя) помечает узел, чтобы псевдоним (*имя) переиспользовал его дальше — удобно для повторяющихся описаний сервисов. Блочные скаляры (| и >) несут многострочный текст: вертикальная черта сохраняет переводы строк, угловая скобка сворачивает их в пробелы. Все три понимаются здесь, а отступ внутри блочного скаляра считается данными, а не форматированием.