YAML フォーマッター
YAML入力
最大100万文字、最大100ドキュメントまでの YAML を貼り付けてください。整形はこのブラウザ内で行われます。
YAML は構文には寛容ですが、インデントには容赦がありません。スペース 1 つのずれでキーが静かにリスト項目へ変わり、混在したインデントはレビューを苦行にします。このフォーマッターは js-yaml エンジン(YAML 1.2 コアスキーマ)を使って入力をブラウザ内で直接解析し、選んだインデント、コレクションのスタイル、クォート、キーの順序、行幅で出力し直します。設定ファイルがバージョン管理できれいな diff を生み、誰にとっても読みやすい状態を保てます。
YAML の整形手順
-
1
YAML を貼り付ける
1 つのストリームに最大100万文字、最大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のような生成名で出力し直され、元のアンカー名は保持されません。 - マージキー(
<<:)は解決され、マージ済みの値を持つ通常のマッピングになります。
複数ドキュメントのストリーム
複数ドキュメントのストリームに対応しています。各ドキュメントは独立して整形され、--- 区切りで再連結されます。1 回の実行で最大100ドキュメントまでです。
よくある質問
構造と値は同一のままで、変わるのは表現だけです(インデント、クォート、フローかブロックか、並べ替えを有効にした場合のキー順)。仕様として保持されないものが 2 つあります。コメントは削除され、アンカー名は再生成されます。
裸の文字列が別の型として解析されてしまう場合、安全のためにクォートが必要です。よくあるケースは、数字だけのキーや値、: や # を含む文字列、そして YAML 1.1 のパーサーが true/false と読んでしまう yes や no のようなレガシーなブール値です。
できません。スタイルのオプションはドキュメント全体に適用されます。ブロックはすべてのコレクションを行ごとに展開し、フローはコレクションをインラインで表記します。比較したい場合は、オプションを変えて 2 回整形してください。
いいえ。解析と整形は、同梱の js-yaml エンジンでブラウザ内で実行されます。YAML はサーバーを経由せず、保存されず、ページのアドレスに追加されることもありません。複数ステップの画面で結果を表示するために、このブラウザのセッション内にだけ保持されます。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
プレースホルダー画像ジェネレーター
1〜4000 pxの画像に色と文字を設定し、PNGで保存できます。外部URLとHTMLもコピーできます。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
HTML 圧縮ツール
通常のコメントを削除し、空白を整理して、ブラウザ内で HTML をコンパクトにします。使用前に結果を確認してください。
このツールは他の言語でも利用できます
- Formater YAML [PL]
- ตัวจัดรูปแบบ YAML [TH]
- YAML-Formatter [DE]
- Pemformat YAML [ID]
- Formateador de YAML [ES]
- Formatador de YAML [PT]
- YAML-formaterare [SV]
- Trình định dạng YAML [VI]
- Formateur YAML [FR]
- YAML 포맷터 [KO]
- منسق YAML [AR]
- YAML-formatter [NL]
- YAML Formatter [EN]
- Formattatore YAML [IT]
- Форматер YAML [RU]
- YAML Biçimlendirici [TR]
- YAML 格式化工具 [ZH]