HTMLからMarkdownへの変換ツール

WordPressの記事をHugoに移行する場合、Confluenceのページをノートとしてアーカイブする場合、またはドキュメント用ウィキ向けにリッチテキストメールを整理する場合など、いずれもHTMLをMarkdownに変換することを意味します。このコンバーターは見出し、段落、リスト、リンク、画像、コードブロックをそれぞれ対応するMarkdownに変換するため、HTMLの余計な装飾なしに文書の構造を保てます。

HTMLをMarkdownに変換する方法

  1. 1

    HTMLを貼り付ける

    ページ全体、リッチテキスト形式のメール本文、または断片など、すべてが解析されます。

  2. 2

    変換する

    見出し、段落、リスト、リンク、画像、コードブロックがMarkdownに変換されます。

  3. 3

    Markdownをコピーする

    出力内容をObsidian、Hugo、Jekyll、Notion、またはGitリポジトリに保存してください。

HTMLをMarkdownにマッピングする

コンバーターはDOMを走査し、認識された各要素に対してMarkdownを生成します。<div><span><section><article>などのラッパータグは削除され、その内容は正しいネストレベルで保持されます。

要素のマッピング

HTML Markdown出力
<h1> から <h6> # から ###### の見出し
<strong>, <b> **text**
<em>, <i> *text*
<code> インライン `text`
<pre><code> トリプルバッククォートで囲まれたコードブロック(言語が設定されていればそれを付与)
<a href> [text](url)
<img src alt> ![alt](src)
<ul><li> - item
<ol><li> 1. item
<blockquote> > quote
<hr> ---

それ以外の要素の扱い

MarkdownはすべてのHTML要素を表現できるわけではありません。Markdownに相当する形式がないタグは削除され、テキスト内容だけが保持されます:

  • <table>: セル内のテキストは残りますが、表の枠組みは失われます。構造が重要な場合はテーブル対応のコンバーターを使用してください。
  • <del><u>などのインライン装飾: テキストは残りますが、装飾は失われます。
  • <video><audio><iframe>: これらの埋め込みからMarkdownで表示可能な出力は生成されません。
  • <details> / <summary>: 内側のテキストは保持されますが、開閉ウィジェットは保持されません。

損失のない往復変換が必要な場合は、レンダリングされたHTMLではなく元のMarkdownから変換してください。

よくある質問

シンプルな<div>および<span>のラッパーは削除され、その内容は正しいネストレベルで表示されます。レイアウト専用のdivはMarkdownでは非表示になりますが、これはドキュメントの設定として一般的に望まれます。

はい。<pre><code class="language-js">は、言語ヒントとしてjsを使用するフェンス付きブロックになります。言語が指定されていないインデントされたコードブロックは、通常のフェンス付きブロックに切り替わります。

<table>のセル内のテキストは保持されますが、表の枠組み自体は保持されません。行と列が保たれないため、構造が失われます。構造が重要な場合はテーブル対応のコンバーターを使用してください。

ほぼ可能ですが、細かい書式(参照スタイルのリンク、末尾2スペースによるハード改行、別種の強調マークなど)は正規化されることがあります。完全な無損失の往復変換には、元のMarkdownを保持してください。

関連ツール

このツールは他の言語でも利用できます