コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Markdownにはさまざまな「方言」と呼ばれる派生版がある

基本的にはGitHubで使っている記法、となるのだがその経緯的なものをざっくりまとめる。

そもそものMarkdown

GitHubなどで使われるMarkdwonですが、仕様としてはRFC7763がそれにあたる。

RFC 7763 - The text/markdown Media Type

「方言」と呼ばれる派生

Markdownの基本的な仕様だけだと、表現力的に足りない部分がある、例えば

  • 表組み(テーブル)
  • 取り消し線
  • 絵文字(:で挟むヤツ)

などは基本のMarkdownには存在しない。

そこでさまざまな派生が発生している。これを日本語のWikipediaでは方言と表現している。

Github Flavored Markdown(GFM)

GitHub Flavored Markdown Spec

一般的にMarkdownを書き始めるきっかけがGitHubだと思うので、そういう意味でデファクトスタンダードな感じのある実装がGitHub Flavored Markdown(略称GFM)。

先程あげた「テーブル」「取り消し線」などの実装をしているのがこの仕様であり、Markdownでかけます!というところもこれを踏襲しているケースが多い。

なお、後述するCommonMarkの拡張仕様のため、CommonMarkでできることは全部できる仕様となっている。

CommonMark

CommonMark

乱立するMarkdown仕様を終わらせようと標準化を進めているのがCommonMark。ただしテーブルなどがない仕様なので、あまりユーザーニーズにあっておらず、どうしてもGFMのほうが優勢。

ただ、GFM側がCommonMarkの拡張となるため、何か仕様を見るときはこちらも照らし合わせると良い。

参考リンク