Markdown には、 CommonMark / GFM 以外の"方言"や拡張記法がいくつも存在します。
この記事では、CommonMark / GFM の外側にある主要な方言と、方言をまたいでよく使われる拡張記法を、「どういう書き方があるか」「どこで対応しているか」が一目でわかる形で整理します。

前提:ここで挙げる拡張の多くは CommonMark / GFM には含まれません。使う前に、投稿先やパーサーが対応しているかを必ず確認してください。


    1. 主要な Markdown 方言

    まず、独自の記法拡張を定義した「方言(dialect)」のうち、知名度の高いものです。

    方言 使われる場所 特徴
    Pandoc's Markdown Pandoc(文書変換ツール) 最も高機能。脚注・定義リスト・上付き下付き・メタデータ・数式・引用文献など。学術・書籍・PDF 出力の定番。
    PHP Markdown Extra PHP 系 CMS・ブログ 基本仕様に脚注・定義リスト等を追加。属性指定 {#id .class} の元祖的存在。
    MultiMarkdown (MMD) MultiMarkdown Extra に近い拡張(脚注・表・数式・メタデータ)。高度なテーブル記法を持つ。
    kramdown Ruby 製。Jekyll(GitHub Pages)の既定 GitHub Pages でブログを書くなら実質これ。{:...} のインライン属性が特徴。

    このほか、Zenn・Qiita・GitLab・Obsidian・Notion などにも、それぞれ独自の方言があります。ただし記法が各サービス固有(:::message など)で汎用性に乏しいため、本記事では「共通して使われる拡張記法」に絞って解説します。


    2. よく使う拡張記法と対応状況

    記法 書き方 Pandoc Markdown Extra kramdown Obsidian 等 GFM/CommonMark
    脚注 [^1][^1]: △(GFM一部)
    上付き ^text^
    下付き ~text~
    ハイライト ==text== ✗※
    定義リスト 用語→: 説明
    属性指定 {#id .class}
    ウィキリンク [[link]]
    目次 [TOC] △(オプション) ✗(GitHubは自動)

    (○=対応、△=条件付き、✗=非対応、−=実装により異なる)
    ※ Pandoc は == ではなく [text]{.mark}<mark> を出します。

    以下、それぞれの書き方を補足します。

    2-1. 脚注(Footnote)

    本文に [^ラベル]、どこかで [^ラベル]: に内容を定義します。

    本文に脚注をつけます[^1]。
    
    [^1]: これが脚注の内容です。ラベルは数字でも文字列でもかまいません。

    比較的多くの環境(GitHub の一部・Pandoc・Extra・MMD)で通じる、拡張の中では移植性が高めの記法です。

    2-2. 上付き・下付き(Superscript / Subscript)

    ^text^ で上付き、~text~ で下付きになります。ただし中身にスペースは入れられません

    2^10^ は 1024、H~2~O は水。

    GFM では無効(~~ は打ち消し線)なので、確実に効かせたいなら 2<sup>10</sup>H<sub>2</sub>O と HTML で書くのが安全です。

    2-3. ハイライト(Highlight / Mark)

    蛍光ペンのような <mark> 相当。記法が割れる代表格です。

    ==ここが目立つ==       ← Markdown-it 系・Obsidian など
    [ここが目立つ]{.mark}  ← Pandoc(属性指定)

    ==text== は CommonMark / GFM / Pandoc 標準では効きません。

    2-4. 定義リスト(Definition List)

    用語の次の行に :(コロン)+スペース+説明を書きます。用語集・FAQ に便利。

    用語A
    : 用語Aの説明。
    
    用語B
    : 説明1
    : 説明2(複数の説明も付けられる)

    出力は <dl><dt>…</dt><dd>…</dd></dl>。Pandoc・Extra・kramdown が対応します。

    2-5. 属性指定(Attributes:id / class など)

    要素に idclass を付与します。書き方が方言で分かれます

    # 見出し {#my-id .my-class}    ← Pandoc / Extra / kramdown(見出しに付与)
    [テキスト]{.highlight}          ← Pandoc(インライン span に付与)
    {:.my-class #my-id}             ← kramdown(直前のブロックに付与)

    波括弧内は #id → .class → key="value" の順が基本。GitHub 等では効かないので、その場合は <h2 id="..."> と HTML で書きます。

    2-6. ウィキリンク(Wikilink)

    [[ページ名]] でページ間リンクを作る Wiki 由来の記法。Obsidian や各種 Wiki で使われます。

    [[ページ名]]
    [[ページ名|表示テキスト]]

    リンク先の解決方法が実装依存で移植性は低いため、汎用ドキュメントでは通常のリンク [表示](URL) を推奨します。

    2-7. 目次(TOC)

    見出しから目次を自動生成します。これも記法がバラバラです。

    [TOC]        ← Python-Markdown / Typora など
    [[_TOC_]]    ← GitLab / DokuWiki
    {:toc}       ← kramdown(直前のリストに付与)

    Pandoc は記法ではなくコマンドオプション(--toc)で出力し、GitHub は README で見出しメニューを自動表示します([TOC] は不要かつ無効)。


    3. Markdown Preview Enhanced(MPE)の独自記法

    Markdown Preview Enhanced(MPE) は VS Code / Atom 向けの高機能プレビュー拡張で、ローカルで技術文書や本を書くのに向いています。GFM をベースに、独自の便利記法をいくつも備えています。

    MPE の既定パーサーは markdown-it です。一部の記法はパーサーを Pandoc に切り替えると動きません。

    3-1. 校正マークアップ(CriticMarkup)

    原稿の加筆・削除・置換・コメント・ハイライトを記法で表せます(既定では無効、設定で有効化)。

    {++ 追加した文章 ++}
    {-- 削除した文章 --}
    {~~ 旧い表現 ~> 新しい表現 ~~}
    {== 強調(ハイライト)==}
    {>> 校正者のコメント <<}

    校正・レビューのやり取りを Markdown 上で完結できます。

    3-2. テーブルのセル結合(rowspan / colspan)

    GFM のテーブルにはないセル結合を、特殊なセルで表現できます。

    • > だけのセル … 右のセルと結合(colspan)
    • ^ だけのセル … 上のセルと結合(rowspan)
    | ヘッダー1 | ヘッダー2 | ヘッダー3 |
    | --- | --- | --- |
    | セルA1 | セルB1 | セルC1 |
    | >      | セルB2 | セルC2 |
    | セルA3 | ^      | セルC3 |

    MultiMarkdown 由来のテーブル拡張で、MPE や対応プラグイン(markdown-it-multimd-table など)で描画されます。

    3-3. 図表(Diagrams)

    コードブロックの言語名に図の種類を書くと、図としてレンダリングされます。

    ```mermaid
    graph LR; A --> B; B --> C;
    ```

    対応:Mermaid・PlantUML・flow・sequence・WaveDrom・GraphViz・Vega など。Mermaid は GitHub でも描画されますが、他は MPE 側の機能で、PDF・pandoc 出力では崩れることがあります。

    3-4. 数式・その他

    • 数式$...$(インライン)/$$...$$(ブロック)で LaTeX 数式(KaTeX / MathJax)。
    • ファイル取り込み@import "file" で外部ファイルを展開。
    • 目次<!-- toc --> で自動生成(MPE 独自)。
    • 注記ブロック!!! note 形式(mkdocs 系。GitHub の > [!NOTE] とは別文法)。
    • Front Matter:冒頭に --- で囲んだ YAML でメタデータを指定。

    MPE の独自記法(@import<!-- toc -->!!!・CriticMarkup・PlantUML 等)は MPE でしか通じません


    まとめ

    • CommonMark / GFM の外側には、Pandoc・Markdown Extra・MultiMarkdown・kramdown といった方言があり、脚注・定義リスト・属性指定などの拡張を提供している。
    • 上付き下付き・ハイライト・ウィキリンク・目次・セル結合などは、記法も対応状況も方言ごとにバラバラ。使う前に対応確認が必須。
    • MPE はローカル執筆向けに独自記法(校正マークアップ・セル結合・図表・数式など)を豊富に備えるが、それらは MPE の外では通じない。

    参考リンク