YAMLをオンラインでフォーマット・整形する
乱雑または圧縮されたYAMLを、一貫したインデントで読みやすく整形します。ブラウザ上で完全に動作し、データをサーバーに送信しない無料のオンラインYAMLフォーマッター。
詳細な説明
YAMLを読みやすくフォーマットする
YAML(YAML Ain't Markup Language)は人間が読みやすいように設計されていますが、実際にはインデントの不一致、タブとスペースの混在、圧縮などによりYAMLファイルが乱雑になることがよくあります。YAMLフォーマッターは構造化されていない、またはフォーマットの悪いYAMLを、一貫したインデントのクリーンな出力に変換します。
なぜYAMLをフォーマットするのか?
YAMLは空白に依存しています — インデントがドキュメントの構造を決定します。ブレースやブラケットを使用するJSONとは異なり、YAMLはネストレベルを定義するために完全にスペースに依存しています。そのため、スペース1つの位置ずれでもドキュメントの意味が変わったり、パースエラーが発生する可能性があります。
# 乱雑な入力
name: John
age: 30
hobbies:
- reading
- coding
2スペースインデントでフォーマットした後:
name: John
age: 30
hobbies:
- reading
- coding
インデント標準
YAML仕様は特定のインデント幅を規定していませんが、一般的な慣例は以下の通りです:
- 2スペース — KubernetesやDockerエコシステムで最も一般的
- 4スペース — Python関連ツール(Ansible、SaltStack)で一般的
- タブ — YAMLでは許可されていない(JSONやほとんどのプログラミング言語とは異なる)
フォーマッターの動作
適切なYAMLフォーマッターは以下の操作を実行します:
- 入力を抽象構文木(AST)にパースする
- インデントを一貫した幅に正規化する
- 各行の末尾の空白を削除する
- ファイル末尾の改行を確保する
- コメントを正しい位置に保持する
- キーの順序を維持する(YAMLマップは順序付き)
エッジケースの処理
フォーマッターは複数行文字列(リテラル | およびフォールド > ブロック)、アンカーとエイリアス、複合キー、--- で区切られた複数のYAMLドキュメントを含むドキュメントを処理する必要があります。良いフォーマッターは周囲の空白を正規化しながらこれらの構造を保持します。
ユースケース
YAMLフォーマットは設定ファイルを扱うすべての開発者にとって不可欠です。Kubernetesマニフェストの整理、チーム全体でのインデント標準化、コードレビュー用のYAMLファイル準備など、一貫したフォーマットはエラーを減らし可読性を向上させます。CI/CDパイプラインではリンティングステップとしてYAMLフォーマットを強制することがよくあります。