Форматер YAML
Ввод YAML
Вставьте YAML объёмом не более 1 000 000 символов и не более 100 документов. Форматирование выполняется в этом браузере.
YAML снисходителен к синтаксису и беспощаден к отступам. Один лишний пробел может незаметно превратить ключ в элемент списка, а смешанные отступы делают ревью мучительным. Этот форматер разбирает ввод движком js-yaml (core-схема YAML 1.2) прямо в браузере, а затем выводит его заново с выбранными вами отступами, стилем коллекций, кавычками, порядком ключей и шириной строки, чтобы конфиги давали чистые диффы в системе контроля версий и оставались читаемыми для всей команды.
Как отформатировать YAML
-
1
Вставьте YAML
До 1 000 000 символов и до 100 документов в одном потоке. Ничего не загружается: разбор выполняется в вашем браузере.
-
2
Выберите опции
Ширина отступа, блочный или потоковый стиль, кавычки, сортировка ключей и ширина строки.
-
3
Отформатируйте
Инструмент собирает каждый документ заново с каноничными отступами и выбранным стилем.
-
4
Скопируйте и закоммитьте
На выходе структурно идентичный YAML, готовый вернуться в ваш конфиг.
До и после
Неаккуратный ввод:
server:
port: 8080
hosts: ["api.example.com", "api2.example.com"]
timeout: 30
debug: true
Отформатировано (2 пробела, блочный стиль):
server:
port: 8080
hosts:
- api.example.com
- api2.example.com
timeout: 30
debug: true
Опции форматирования
| Опция | Значения | По умолчанию |
|---|---|---|
| Ширина отступа | 2, 4 | 2 |
| Стиль коллекций | Блочный, потоковый | Блочный |
| Кавычки | Минимальные, двойные, одинарные | Минимальные |
| Сортировка ключей | Исходный, по алфавиту | Исходный |
| Ширина строки | 80, 120, без ограничения | 120 |
Правила кавычек
Минимальные кавычки обычно то, что нужно: строки остаются без кавычек, если только это не опасно. Форматер добавляет кавычки автоматически для:
- Устаревших булевых значений в виде строк:
yes,no,on,off,y,n. YAML 1.2 уже читает их как строки, но многие парсеры до сих пор следуют YAML 1.1, гдеnoбез кавычек превращается вfalse. Форматер всегда берёт их в кавычки на выводе, поэтому знаменитый «норвежский баг» (NOв списке стран, прочитанное какfalse) не укусит того, кто читает ваш файл. - Чисел в виде строк:
'007','3.14'. Без кавычек они были бы разобраны как целые или дробные числа. - Строк с символами вроде
:,#,[,{или пробелом в начале, где голый вывод изменил бы структуру.
Чистки при каждом запуске
- Пробелы в конце строк. Удаляются.
- Смешанные или неровные отступы. Приводятся к выбранной ширине отступа.
- Пустые строки внутри коллекций. Удаляются.
- Табуляция в отступах. YAML её запрещает; парсер отклоняет ввод с понятной ошибкой, указывающей на строку, чтобы вы исправили её, а не выпустили файл, который другие парсеры не примут.
Комментарии, якоря и ключи слияния
Форматирование нормализует модель документа, и у этого есть ограничения, о которых стоит знать до коммита:
- Комментарии удаляются. Парсер сводит документ к данным, поэтому комментарии
#не переживают форматирование. Сохраните копию, если комментарии важны. - Якоря и алиасы разрешаются. Узлы, разделяемые через алиас, остаются общими, но выводятся заново со сгенерированными именами вроде
&ref_0; исходные имена якорей не сохраняются. - Ключи слияния (
<<:) разрешаются в обычные маппинги с уже подставленными значениями.
Потоки из нескольких документов
Потоки с несколькими документами поддерживаются: каждый документ форматируется независимо и снова соединяется разделителем ---, до 100 документов за запуск.
Часто задаваемые вопросы
Структура и значения остаются идентичными: меняется только запись (отступы, кавычки, потоковый или блочный стиль, порядок ключей при включённой сортировке). Две вещи не сохраняются намеренно: комментарии удаляются, а имена якорей генерируются заново.
Когда голая строка была бы разобрана как что-то другое, кавычки необходимы для безопасности. Типичные случаи: ключи или значения из одних цифр, строки с : или #, а также устаревшие булевы значения вроде yes и no, которые парсеры YAML 1.1 прочитали бы как true/false.
Нет. Опция стиля применяется ко всему документу: блочный разворачивает каждую коллекцию на отдельные строки, потоковый записывает коллекции в одну строку. Отформатируйте дважды с разными опциями, если нужно сравнить.
Нет. Разбор и форматирование выполняются в вашем браузере со встроенным движком js-yaml. Ваш YAML не проходит через сервер, не сохраняется и никогда не попадает в адрес страницы; он живёт только в этой сессии браузера, чтобы многошаговый режим мог показать результат.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Генератор цветовой палитры
Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.