GitHub Flavored Markdown(GFM)とは?
Markdown方言の全体像については以下の記事を参照のこと。
GFMとは何か?
GFM(GitHub Flavored Markdown)は、GitHubが開発・採用しているMarkdownの方言である。。GitHub上でのREADMEやIssue、Wikiなどに使われている形式で、CommonMarkをベースに以下のような拡張機能が加わっている。
CommonMarkでできること・できないこと
以下は、同一のMarkdown文書をCommonMarkとGitHub Flavored Markdown(GFM)でレンダリングした比較画像である。細かな違いが視覚的に理解できる。純粋なCommonMarkと比べて、基本的な整形記法に対応しており、現実的に使える方言として活用できる(純粋なCommonMarkでは表はチェックリストすら未対応)。
なお、この比較ツールの実装については以下記事に記してある。
GFMでの追加機能一覧
GFMがサポートしている主な機能を以下表に示す。
機能 | GFMでの対応 | サンプル記法 |
---|---|---|
表(table) | ✅ 対応 | ` |
——– | —- | |
内容1 | 内容2 | ` |
チェックボックス | ✅ 対応 | - [x] 済み - [ ] 未完了 |
行内コード | ✅ 対応 | コード |
シンタックスハイライト | ✅ 対応 | python\nprint("hi")\n |
自動リンク(URL) | ✅ 対応 | https://example.com → 自動リンク |
打ち消し線 | ✅ 対応 | ~~打ち消し~~ → 打ち消し |
@メンション | ✅ 対応 | @username |
SHA, Issue番号 | ✅ 対応 | #123 , deadbeef (リンク化) |
タスクリスト | ✅ 対応 | - [ ] task |
HTMLタグ | ✅ 部分対応 | セキュリティ上、制限あり |
結論:なぜGFMは実用で好まれるのか?
- 表やチェックリスト、コードハイライトなど、日常的なドキュメントに便利な機能が揃っている
- GitHubという大規模なプラットフォームでの利用により、事実上の業界標準となっている
Markdownの方言による違いが気になる場合は、より厳密な構造記述が可能な Asciidoc の導入も検討する価値がある。