Перейти до вмісту

Форматер YAML

Валідація та переформатування YAML з вказанням номера рядка й стовпця.

Введення
Вихід

Форматер YAML

YAML зустрічається всюди — від маніфестів Kubernetes до робочих процесів GitHub Actions і конфігурації додатків — і не прощає помилок з пробілами: один неправильно вирівняний пробіл руйнує весь документ. Цей інструмент перевіряє синтаксис YAML-документа й переформатує його послідовно, щоб ви могли виявити помилку в pipeline або файлі конфігурації до його запуску.

Вставте документ, і він одразу буде проаналізований. Правильний вхід повернеться переформатованим з обраною вами шириною відступу; неправильний вхід виведе точний рядок і стовпець проблеми разом з тим, що очікував парсер, тому вам не доведеться гадати, в якому з сорока рядків втрачена табуляція. Дві перевірки виконуються автоматично для кожного валідного документа: попередження, якщо будь-який рядок використовує табуляцію для відступу, оскільки специфікація YAML забороняє таби, навіть якщо багато редакторів вставляють їх за замовчуванням, і підрахунок дублювання ключів в одному映射, що YAML дозволяє, але зазвичай означає, що перемагає лише останній, а решта марні.

Параметри контролюють як структуру, так і пробільні символи. Відсортуйте ключі за алфавітом, щоб отримати детермінований, порівнюваний документ — це корисно, коли згенерована конфігурація постійно створює шумні git-дифи без функціональної причини. Згортання коротких списків перетворює скалярну послідовність на кшталт трирядкового списку тегів в один рядок у flow-стилі, наприклад tags: [a, b, c]; залиште її вимкненою, і вбудовані flow-списки у вхідних даних будуть розгорнуті назад в один елемент на рядок, що зазвичай зручніше для перевірки й злиття. Видалення коментарів видаляє повнорядкові та кінцеві hash-коментарі для версії, призначеної для мініфікації або обміну без примітокю, а залишення їх включеними зберігає коментарі вашого документа точно як вони написані.

Форматування відбувається повністю у вашому браузері. YAML, який ви вставляєте, ніколи не завантажується, не логується й не відправляється нікуди — він аналізується, переформатується й відображається локально й зникає в момент закриття або перезавантаження вкладки.

FAQ

Мій YAML завантажується куди-небудь?
Ні. Аналіз і форматування відбуваються повністю в JavaScript-рушієві вашого браузера. Нічого з того, що ви вставляєте, не відправляється на сервер, не логується й не зберігається поза вашим пристроєм.
Що означають рядок і стовпець у помилці?
Вони вказують на те місце в вашому документі, де парсер перестав розуміти, рахуючи з верхнього лівого кута вставленого вами тексту. Вони також показують, що парсер очікував, наприклад узгоджений відступ або значення після двокрапки.
Чому інструмент попереджує про табуляцію?
Специфікація YAML забороняє використовувати символи табуляції для відступу — дозволені лише пробіли. Документ із табуляцією для відступу може бути проаналізований непослідовно або зовсім не працювати в іншій реалізації YAML, тому інструмент це відзначає, навіть якщо ваш вхід тут ще працює.
Що трапляється з дублюючимися ключами?
YAML дозволяє повторювати ключ в одному映射, і більшість парсерів мовчки залишають лише останнє значення. Інструмент це не відхиляє, але підраховує дублі й відзначає вражений рядок, щоб ви могли вирішити, було це навмисне чи ні.
Може ли інструмент виправити невалідний YAML?
Ні — він точно повідомляє вам, де не вдалася аналіз, щоб ви могли виправити джерело. Автоматичне угадування виправлення для розладненого відступу ризикує змінити сенс документа.