Markdown標準記法では物足りない開発者のためのMarkdown拡張記法まとめ(CommonMark、GFM、Extraなど)

2024年09月16日(月) Markdown

こんにちは。マニュアル作成・ナレッジ共有ツール「NotePM」ブログ編集局です。

Markdownの記法はごくシンプルなもので、不足を感じる方も多いでしょう。そのため、標準の記法に追加した拡張記法を提供するものがいくつかあります。今回はそうした拡張記法をまとめて紹介します。

CommonMark

元々Markdownでは仕様が決まっておらず、一般的なMarkdown記法を策定するためにCommonMarkが作られました。GitHubやDiscourse、Redditなどでもサポートされています。CommonMark Specに仕様がまとまっていますが、普段使っているMarkdownの記法はこの仕様に基づいて提供されています。

CommonMark

 

GitHub Flavored Markdown (GFM)

CommonMarkをベースにGitHubが拡張したのがGFMになります。 ~~文字列~~ で打ち消し線、リンクと思われる部分を自動リンク、 ~~~ でpreタグ、見出しを使ったページ内リンク、テーブルの拡張、タスクリスト、HTML記述の拒否といった特徴があります。

差分はGitHub Flavored Markdown Specで確認できます(グリーン部分がCommonMarkとの違いです)。

 

Markdown Extra

PHPで拡張されたMarkdownです。標準の記法に加えて、以下のような機能があります。

  • 見出しへの名前付け(アンカー用)
  • コードブロックの拡張
  • 定義リスト
  • テーブルの拡張
  • 脚注
  • 略語一覧

PHP Markdown Extra

 

MultiMarkdown

Perlで書かれたMarkdown拡張記法です。標準の記法に加えて、下記のような拡張が行われています。

  • 脚注
  • テーブルの拡張
  • 引用
  • 数式
  • クロスリファレンス
  • 複数言語サポート
  • 画像の要素
  • 表および画像のキャプション
  • 定義リスト
  • 用語集
  • メタデータ

MultiMarkdown

 

R Markdown

Markdownの中に各種プログラミング言語が記述でき、さらにJupyter Notebookのように実行できる拡張言語(およびサービス)です。コードの実行と、メタデータをYAML形式で埋め込めるようにしたのが特徴です。

R Markdown

 

まとめ

脚注やテーブルの拡張など、多くのMarkdownパーサーに取り込まれている機能もあります。定義リストなどは便利なのですが、あまり多く見られません。Markdownはパーサーごとに方言のようになってしまっているので、利用するライブラリやサービスによってどういった記法が使えるのか知っておくと良いでしょう。

NotePM

NotePM

NotePM(ノートピーエム) は、ナレッジ共有に特化した「社内版ウィキペディア」です。検索に強く、情報を整理しやすいのが特徴です。Markdown対応で、CommonMarkに準拠しています。

NotePMの特徴

  • マニュアル作成、バージョン管理、ファイル共有機能
  • 強力な検索機能。PDFやExcelの中身も全文検索
  • 社内FAQ / 質問箱、社内ポータルとしても活用できる
  • 銀行、大学も導入している高度なセキュリティ。安全に情報共有できる

NotePM
URL: https://notepm.jp/