Markdown移植性チェック
Markdownソースを貼り付けると、GitHub、厳格なCommonMarkレンダラー、旧Redditのような簡易レンダラーで異なって表示・動作する構文を確認できます。
ブラウザー内でローカルに処理します。ファイルがアップロードされることはありません。
使い方 ツール
- MarkdownソースまたはREADME/文書全体を貼り付けます。内容はブラウザー外へ送信されません。
- 「移植性を確認」を選びます。
- 各指摘について移植できない理由とレンダラー間の差を確認します。
- 提案された書き換えを使います。ほとんどの問題は意図を推測せず自動修正できないため、その理由を説明します。
前提条件
- 7つの具体的な構文を認識します:裸のURL、タブ字下げコードブロック、GFMテーブル、GFM取り消し線、GFMタスクリスト、対応する定義がない参照リンク/画像、一般に除去される危険な生HTMLブロック。それ以外のMarkdown表示は対象外です。
- 完全なMarkdownパーサーでなく行単位のテキストスキャナーです。文書ツリーを作らず、フェンス付きコードブロック内は意図的に検査しません。
- 参照リンク/画像は、文書全体にラベル定義がない場合のみ指摘します。CommonMarkに従い、大文字・小文字を区別せず照合します。
出典と参考データ
方法論
フェンス付きコードブロックを追跡・除外し、対象を絞ったパターンで各構文を検出します。GitHub Flavored Markdown、CommonMark仕様、一般的な簡易レンダラー間で文書化された表示差を確認します。機械的に安全で曖昧さのない裸URLを山括弧で囲む場合のみ書き換えを提案します。参照先のURLを推測したり、有効なGFMテーブル、タスクリスト、取り消し線を書き換えたりしません。
計算例
山括弧やリンク構文のない裸URL
入力項目: 詳細はhttps://example.comをご覧ください。
結果: GFMは自動リンクにしますが、厳格なCommonMarkではクリックできない普通の文字列です。警告として指摘し、どちらでも自動リンクになる`詳細は<https://example.com>をご覧ください。`を提案します。
対応定義のない参照リンク
入力項目: 更新前に[移行ガイド][missing-ref]を読んでください。
結果: 文書内に`[missing-ref]: url`定義がないため、すべてのレンダラーで壊れたリンクまたは文字列になります。表示差でなく実際の不具合としてエラーを指摘します。意図したURLは分からないため修正案は出しません。
GFMパイプテーブル
入力項目: | 名前 | 年齢 | |------|-----| | Ada | 30 |
結果: パイプテーブルはGitHub Flavored Markdown拡張で、CommonMarkコアにはありません。情報として指摘し、CommonMarkレンダラーではテーブルでなくパイプやハイフンが文字表示される場合があると説明します。
実用的なアドバイス
- 厳格なCommonMarkで読む可能性がある場合、裸URLを山括弧で囲むか`[テキスト](URL)`リンクにします。
- タブ/空白字下げよりフェンス付きコードブロック(```)を使います。タブ幅の曖昧さがなく、後続編集者にも明確です。
- 公開前にすべての参照リンク/画像定義を確認します。定義漏れ・誤記は表示上の気まぐれでなく不具合です。
- 公開プラットフォーム向けMarkdownでは生の<script>、<iframe>、<style>、<object>、<embed>タグを避け、サニタイズを通常の動作として想定します。
よくある間違い
- GitHubで表示できたからMarkdownテーブルやタスクリストはどこでも動くと思うこと。GFM拡張はCommonMark仕様に含まれません。
- 壊れた参照リンクを表示差とみなすこと。この問題は厳格レンダラーだけでなく、すべての場所でリンクを壊します。
よくある質問
裸URLは警告で、壊れた参照リンクはエラーなのはなぜ?
裸URLは自動リンクされない環境でも読める文字列として表示されます。参照リンクが壊れると、どのレンダラーでも括弧構文のまま、またはリンクなしで表示されるため機能上の不具合です。
GFMテーブルやタスクリストをもっと移植可能な形式に自動変換しないのはなぜ?
意味と見た目を保つCommonMark準拠の同等表現がありません。CommonMarkレンダラーにはテーブルやチェックボックスの概念がありません。GFMだけでよいか利用者が判断できるよう指摘し、構造を変える推測書き換えを避けます。
フェンス付きコードブロック内も検査しますか?
いいえ。```内はそのまま表示する内容で、Markdown構文として解釈しないため意図的に除外します。例として記載した裸URLや~~取り消し線~~は移植性問題になりません。
GitHubではMarkdownテーブルが表示されるのにCommonMarkでは表示されないのはなぜ?
パイプテーブルはGitHub Flavored Markdown拡張で、CommonMarkコアの一部ではありません。CommonMarkのみのレンダラーではテーブルでなくパイプや区切り行が文字表示される場合があります。このツールは差を示しますが、すべてのMarkdown実装を比較表示しません。
最終確認日: 2026-09-25
完全なMarkdownパーサーではなく、7つの構文のみを認識する行単位スキャナーです。入れ子強調の曖昧さ、脚注、自動リンク境界、HTMLエンティティなど他のCommonMark/GFM境界事例は解析しません。壊れた参照リンクの意図先も判断せず、修正を推測しません。
このツール 上記の前提条件に基づく参考値を提示します。
テーマとツールの設定、保存済みリストと最近使用したリストは、このブラウザー内にのみ保存されます。