GFMと素のMarkdownの違い。表・タスクリスト・打ち消し線

Markdownのコラム

Markdownには決まった標準が無い、という言い方をされることがあります。
正確には、最初に作られた仕様があり、そこに各サービスが独自の拡張を足してきた結果、書ける記法が場所によって違う状態になっています。

いま一般に「Markdown」と呼ばれて通じるものの多くは、GitHubが定めた拡張版です。
GitHub Flavored Markdown、略してGFMと呼ばれます。

素のMarkdownにあるもの

もともとのMarkdownで書けるのは、次のあたりです。

  • 見出し(#
  • 箇条書きと番号付きリスト
  • 強調(* または _
  • リンクと画像
  • 引用(>
  • コード(バッククォート)
  • 水平線

文章を書くうえで必要なものはひととおり揃っています。
逆に言えば、ここに無いものは後から足された拡張です。

GFMで足されたもの

よく使われるのは次の4つです。

| 項目 | 内容 |
| --- | --- |
| A | あ |

素のMarkdownに表はありません。表が書けるかどうかは、拡張に対応しているかで決まります。

打ち消し線

~~取り消した文字~~

チルダ2つで囲みます。

タスクリスト

- [ ] まだ
- [x] 済み

箇条書きの先頭に [ ] を置く書き方です。GitHubのissueでチェックボックスとして表示されるのはこれです。

自動リンク

素のMarkdownでは、URLをそのまま書いてもリンクになりません。<> で囲むか、リンク記法で書く必要があります。
GFMでは、URLを書くだけでリンクとして扱われます。

コードブロックの言語指定

バッククォート3つで囲むコードブロックも、素のMarkdownには無い書き方です(もとの仕様では半角スペース4つの字下げでした)。

開始のバッククォートの後ろに言語名を書くと、対応している処理系では色が付きます。

指定しなくてもコードブロックにはなります。色が付かないだけです。
言語名が間違っていた場合の扱いは処理系によって違い、無視されることもあれば、そのまま出ることもあります。

どこまで書いてよいか迷ったら

貼り付け先が決まっているなら、その場所の仕様を見るのが確実です。
決まっていない、あるいは複数の場所に貼る予定があるなら、素のMarkdownの範囲に表を足したあたりまでに収めておくと、たいていの場所でそのまま通ります。

タスクリストや脚注のような後発の記法は、対応していない場所では記号のまま出ます。
消えるわけではないので致命的ではありませんが、読み手には意図が伝わりません。

ブラウザだけで動くMarkdownエディタ

LiteMDは入力したテキストを外部に送信しません。読み込みも変換もプレビューも、すべてブラウザの中で完結します。

エディタを開く