PugよりMarkdownの方がずっと楽なことに、ブログを書くようになってようやく気づいた。しかし場当たり的に記法を覚えようとしても、すぐに忘れてしまう。こんな簡単な記法、腰を据えて覚えるまでもあるまい、などとたかを括っていた自分が恥ずかしい。例えばリンク、改行、入れ子のリストあたりが地味にややこしく、幾度も調べ直す羽目になった。
理解を深めるために、Markdownのどの記法がどのHTMLタグに対応しているのか、チートシートとしてまとめてみようと思う。なお、参考にしたのはGitHub Flavored Markdownである。
h1〜h6
pタグ
brタグ
目に見えないためわかりづらいが、一行目の文末に半角スペースが2つくっついている。見えない目が2つ見ていて、そこから逃げるようなイメージで覚えてみる。
ハードブレイクとソフトブレイク
Markdownには改行の解釈が2つある。ハードブレイクとソフトブレイクである。ハードブレイクは、文末に半角スペースを2つ挿入して行う改行で、出力時はbr
タグが挿入される。一方ソフトブレイクは、いわゆる改行で、出力時は半角スペースが挿入される。
英文では、ソフトブレイクはプレーンテキスト上での可読性を高められ、出力も自然な形で段落に収まる。一方、日本語でソフトブレイクを行うと、半角スペースが入って変な感じになる。要注意である。
aタグ
[]
が先か()
が先かわからなくなる。テキストは「テキ」が角っぽい印象だから角カッコ。URLは「R」が丸っぽい印象だから丸括弧、と覚えることにした。title
属性は気合いで覚える。
リンク参照定義(Link reference definitions)
Markdownには、長々しいURLが文中に埋め込まれるのを避けるため(たぶん)に、Link reference definitionsという機能がある。これで、リンクテキストを変数的に扱える。
imgタグ
構造はa
タグと同じ。画像にびっくり。
codeタグ
pre+codeタグ
ulタグ / olタグ
tableタグ
blockquoteタグ
hrタグ
emタグ
strongタグ
delタグ
HTML
エスケープ
バックティックをエスケープする必要があるときは、二重のバックティックで囲う。
Markdownのフレーバーとは
Markdownのフレーバーとは、いわば方言である。Markdownは書式のルールを集めたものであり、特定のツールやプラットフォームに依存しない。開発者であるJohn Gruber氏がまとめた原典(とPerlスクリプト)を参照しながら、Markdown形式のテキストを解釈し、HTMLに変換するツールを有志が思い思いに開発してきた。その過程で原典を拡張または修正したものがMarkdownのフレーバーである。
現在、もっとも利用者の多いフレーバーはGitHub Flavored Markdown (GFM)と言われている。と、ChatGPT-4が教えてくれた。本当かどうかは知らない。