HTMLメールコンテンツから読みやすいMarkdownへの変換
テーブルベースのレイアウト、インラインスタイル、レガシーマークアップを含むHTMLメールコンテンツをクリーンなMarkdownに変換する方法。ニュースレターテンプレート、Outlook固有のマークアップ、条件付きコメントの処理を解説。
Real-World HTML
詳細な説明
HTMLメールからMarkdownへの変換
HTMLメールはMarkdownに変換する最も難しいコンテンツの一つです。メールクライアントとの互換性のためにテーブルベースのレイアウト、インラインスタイル、レガシーマークアップに依存しています。
テーブルベースのレイアウト
メールHTMLはデータ用ではなくレイアウト用にテーブルを使用します。コンバーターはレイアウトテーブルが構造的なコンテナであることを認識し、コンテンツのみを抽出する必要があります。
レイアウトテーブルとデータテーブルの区別
これがメールHTML変換の最も難しい部分です:
- レイアウトテーブル —
width、cellpadding、cellspacing、ブロックコンテンツを含むネストされた<td>→ テーブルを除去、内部コンテンツを保持 - データテーブル —
<thead>、<th>、または表形式のデータ → Markdownパイプテーブルに変換
メール固有の要素
スタイル付きの「ボタン」は単なるスタイル付きリンクで、Markdownの通常のリンクに変換されます。
条件付きコメント
Microsoft Outlookは条件付きコメントを使用します。すべての条件付きコメントとその内容は変換時に除去されるべきです。
プリヘッダーテキスト
非表示のプリヘッダーテキスト(不可視コンテンツ)は除去されるべきです。
メール署名
メール署名には通常、複雑なテーブルレイアウト内に連絡先情報、ソーシャルリンク、ロゴが含まれます。コンバーターはテキストコンテンツを抽出し、リンクを変換しつつレイアウト構造を破棄するべきです。
ユースケース
メールからMarkdownへの変換は、ニュースレターのアーカイブ、ブログ記事へのメールコンテンツの変換、ドキュメント用のHTMLメールからの情報抽出、Markdownベースのメールアーカイブの構築に必要です。バージョン管理されたMarkdownファイルにメールコンテンツを保存したいチームに特に便利です。