HTML を Markdown に変換
スクリプト、スタイル、埋め込みメディアは除去され、未知のタグはテキストを保ちます。表は GFM の表になります。
HTML を Markdown に変える
ブログ記事を README に、ドキュメントページを Wiki に、Web 記事をメモに移すということは、構造を失わずに HTML を取り除くことです。この変換ツールはブラウザーと同じ方法でマークアップを解析し、同等の Markdown を書き出します — 見出しは見出しのまま、入れ子のリストは入れ子のまま、表は表のまま — スクリプト、スタイル、トラッキングピクセルは消えます。
手順
- 1 HTML — ページ全体でも断片でも — を上の欄に貼り付けます。多くのブラウザーではページを右クリックして「ページのソースを表示」からコピーできます。
- 2 下の Markdown を読みます。入力と同時に更新されます。入れ子のリスト、言語付きコードブロック、配置付きの表が保たれます。
- 3 結果をコピーするか、.md ファイルとしてダウンロードします。
何が何に変わるか
見出し h1〜h6 はシャープの見出しに。p は段落、br は強制改行、hr は区切り線に。strong と b は二重アスタリスク、em と i は単一アスタリスク、del と s は二重チルダに。code はバッククォート、pre は言語クラスをフェンスのラベルとして保つフェンス付きブロックに。リンクは [テキスト](url)、画像は  に。ul と ol はダッシュと番号付きのリストになり、2 スペースで入れ子に。blockquote は大なり記号付きの行に。table は align 属性や text-align スタイルから配置を取った GFM の表になります。
テキストではなく DOM で処理する理由
正規表現では HTML を確実に扱えません。タグは入れ子になり、属性の文字列には角括弧が含まれ、実際のページが整形式であることはまれです。この変換ツールは HTML をブラウザー自身のパーサーに渡し、パーサーが描画時と同じように閉じていないタグや誤った入れ子を修復してから、できた木を辿ります。リスト項目の中の太字の中のリンクが正しく出てくるのはそのためです。
除去されるものと残るもの
script、style、head、noscript、template、iframe、object、embed、svg、canvas、video、audio は内容ごと除去されます — どれも Markdown に対応物がなく、ほとんどはノイズです。それ以外の認識されないものはテキストを保ちます。カスタム要素、span、div はコンテナとして扱われ、その子が変換されます。したがって未知のタグ内のインライン書式は残ります。
エスケープときれいな出力
Markdown で意味が変わる文字 — アスタリスク、アンダースコア、バッククォート、バックスラッシュ、行頭のシャープやダッシュ — はテキスト中でエスケープされるため、Markdown を HTML に戻しても同じ結果になります。空白はブラウザーと同様にまとめられますが、pre の中は例外です。空行はブロック間で 1 行に減らされます。