Markdown フォーマッター
Markdown ドキュメントを貼り付けると、フォーマッターが一貫したスタイルに書き換えます。見出しレベルの飛び(H4 の後に H2 が来るなど)を修正し、ソース上で揃うようにテーブル列を整え、ブロック間を必ず 1 行の空行にし、リストマーカーを - に統一し、連続する空行をまとめ、参照スタイルのリンク定義を末尾に並べ替えます。レンダリング後の HTML は変わらず、ソースファイルだけが整うため、差分(diff)が読みやすくなります。
フォーマッターが Markdown を書き換える仕組み
-
1
Markdown を貼り付け
生のドキュメントをドロップします、README、ドキュメントページ、議事録など。
-
2
スタイルオプションを選ぶ
リストマーカー(`-`/`*`)、見出しスタイル(ATX/Setext)、テーブルの配置、折り返し桁。
-
3
整形
ドキュメントを AST に解析し、選択したスタイルで再シリアライズします。
-
4
出力の差分を確認
左右に並べた表示で、貼り戻す前に何が変わったかを確認できます。
フォーマッターが修正する内容
- リストマーカー。
*、-、+はすべて一貫した 1 文字(デフォルトは-)に統一されます。 - 見出しの階層。 H2 の後に H3 を挟まず H4 が続く場合に警告(または昇格)します。
- 空行。 ブロック間はちょうど 1 行の空行にします。3 行以上の連続はなくします。
- テーブル。 Markdown レンダラーは気にしませんが、ソース上でパイプ(|)が揃うように各列を整えます。
- 行末の空白。 意図的な 2 スペースの改行マーカーを除き、各行の行末の空白を削除します。
- 参照リンク。
[label]: urlの定義をドキュメント末尾に集め、アルファベット順に並べます。 - コードフェンス。 言語タグを小文字に統一し、インデントによるコードブロックをフェンス付きブロックに変換します。
設定できるスタイルオプション
| オプション | デフォルト | 代替 |
|---|---|---|
| リストマーカー | - |
*、+ |
| 見出しスタイル | ATX | H1/H2 は Setext |
| 強調の区切り文字 | * |
_ |
| 太字の区切り文字 | ** |
__ |
| 折り返し桁 | 0(無効) | 80、100、120 |
| 参照リンクの並べ替え | 有効 | 無効 |
一貫した Markdown が重要な理由
チームのリポジトリでは、一貫しない Markdown はノイズの多い差分を生みます。誰かが別のエディターでファイルを保存するたびに、リストマーカーが入れ替わり、テーブルが組み直されます。フォーマッターが 1 つのスタイルを強制するため、プルリクエストのレビュアーは内容の変更だけを見られます。文章向けの prettier と考えてください。
整形すべきでない場合
- フェンス付きコードブロック はバイト単位でそのまま保たれます。フォーマッターがコードブロックの中身に触れることはありません。整形でコードが変わったら、それはバグです。
- 狭い幅での 意図的なハード改行(ターミナルプロジェクトの readme.md など)は、折り返し桁を有効にすると再折り返しされます。手動で調整した改行を保ちたい場合は折り返しを無効にしてください。
- 埋め込み HTML ブロック はそのまま通過します。
置き換え可能なツール
ローカルの CLI を使いたい場合、フォーマッターは remark-gfm プラグインを付けた remark-stringify と同じ AST ルールを使います。prettier --parser markdown も同様の結果になります。
よくある質問
いいえ。フォーマッターはソースだけを書き換えます。整形の前後でレンダリングされる HTML 出力は同等になるはずです。レンダリングが変わった場合はバグとして報告してください。
いいえ。ファイル先頭の YAML または TOML のフロントマターは検出され、そのまま通過します。
はい。折り返し桁を 80、100、120 に設定すると段落が再折り返しされます。コードフェンス内の行は決して変更されません。
いいえ。フォーマッターはリンクが有効であると想定し、参照リンクの定義を並べ替えるだけです。リンクチェッカーは別途ご利用ください。
いいえ。解析と整形はブラウザー内で実行され、内容がデバイスの外に出ることはありません。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
EditorConfig ジェネレーター
インデントのスタイルとサイズ、改行コード、文字コード、空白ルールを指定して .editorconfig ファイルを生成し、IDE やエディタをまたいで書式を統一できます。
メールアドレス検証ツール
メールアドレスを検証します。RFC 5322構文チェック、MXレコードのライブ確認に加え、ローカル部、ドメイン、長さの詳細を表示します。メールは送信されません。
このツールは他の言語でも利用できます
- Formatador de Markdown [PT]
- مُنسِّق ماركداون [AR]
- Markdown-formaterare [SV]
- Formateur Markdown [FR]
- Markdown-Formatter [DE]
- Pemformat Markdown [ID]
- Markdown 포맷터 [KO]
- ตัวจัดรูปแบบ Markdown [TH]
- Trình định dạng Markdown [VI]
- Formateador de Markdown [ES]
- Markdown-formatter [NL]
- Formater Markdown [PL]
- Форматтер Markdown [RU]
- Markdown Biçimlendirici [TR]
- Markdown 格式化工具 [ZH]
- Markdown Formatter [EN]
- Formatter Markdown [IT]