SS ツールボックス
SS ツールボックス
すべてのデータはローカルで処理されます

Markdown to HTML 変換:GFM の表・タスクリスト・打ち消し線を HTML 断片に

Markdown を貼り付けると、remark + remark-gfm が HTML 断片を生成します。表、タスクリスト、打ち消し線、自動リンク、脚注に対応。出力には doctype・head・style ブロックが含まれず、コードハイライトや数式、HTML から Markdown への逆変換はありません。Markdown 内の生 HTML は破棄されます。

この Markdown→HTML 変換ツールが対応すること/しないこと

  1. GFM の表・タスクリスト・打ち消し線・脚注

    remark-gfm を有効化。パイプ表は <table> に、タスクリストは無効化されたチェックボックスに、~~テキスト~~ は <del> に、裸の URL はリンクに、[^1] は脚注参照と脚注セクションになります。脚注セクションの見出しは英語の Footnotes です。

  2. 出力は HTML 断片で、完全な文書ではない

    結果は最初のタグから始まり、<!doctype>・<html>・<head>・<style> は含まれません。h1–h4、p、pre、code、a にはインライン style が付き、単体でも読める断片になります。表・リスト・画像にはスタイルが付きません。

  3. コードハイライトも数式もなし

    コードブロックには class="language-js" のような言語クラスだけで、色付きの span はありません。a^2+b^2 などの数式はそのままのテキストとして出力され、KaTeX や MathJax の処理はありません。

  4. 一方向変換で、すべてローカル

    Markdown はテキストエリアに入力し、HTML は読み取り専用のテキストエリアまたは Render プレビューに出力されます。Copy HTML は text/html をクリップボードに書き込みます。HTML→Markdown、ファイルアップロード、画像 URL の取得、ネットワークリクエストはありません。

  5. 生 HTML は破棄、リンク URL は無害化しない

    Markdown 中に書いた <script>、<div>、イベントハンドラ付きタグは除去されます(内側のテキストは残ります)が、href はそのまま出力されます。javascript: や data: のリンクは結果に残ります。

Markdown→HTML 変換の FAQ

どのパーサーを使用していますか?

unified 11 と remark-parse 11(micromark)、remark-gfm 4、remark-rehype 11、rehype-stringify 10 です。remark-rehype は既定設定で動作するため、Markdown に埋め込まれた HTML は解析されず無視されます。

GFM は完全に対応していますか?

表、タスクリスト、打ち消し線、自動リンク、脚注が使えます。タスクリストは disabled の <input type="checkbox"> として出力され、脚注は <sup> 参照と、UI 言語に関係なく英語の Footnotes という見出しのセクションを生成します。

コードのシンタックスハイライトはありますか?

ありません。コードブロックは language-js のような言語クラスだけで、トークン span や色は付きません。スタイルはこのページが見出し・段落・pre・code・リンクに付けるインライン style に限られます。

数式を変換できますか?

できません。数式プラグインがないため、a^2+b^2 や $...$ 風の記法は HTML 内でプレーンテキストのまま残ります。

完全な HTML 文書が得られますか?

いいえ。doctype、html、head、style 要素を含まない断片です。インライン style が付くのは h1–h4、p、pre、code、a だけで、表・リスト・画像には付きません。スタイルシートは別途用意してください。

HTML から Markdown への逆変換やファイルのアップロードはできますか?

どちらもできません。変換は一方向で、入力はテキストエリアのみ、ファイル選択・URL 取り込み・fetch はありません。結果を text/html としてリッチテキストエディタにコピーできます。

XSS はどう扱われますか?

Markdown 内の生 HTML は破棄されるため、<script> や <img onerror> が出力に残ることはありません。ただしリンク先は無害化されず、javascript: や data: の href が残ります。Render プレビューは dangerouslySetInnerHTML で挿入するため、細工されたリンクをクリックすると実行され得ます。信頼できない内容は公開前に無害化してください。

関連ツール
SponsorMindElixir