Markdownとは?

Updated
2021/8/8 10:27
Author
Jumpei IkegamiJumpei Ikegami
order
1
Markdownとは何かを理解するには、実際に試すのが一番です。次のチュートリアルをまだやっていない人は、ぜひそちらから試してください。
キレイなドキュメントをプレーンテキストでサクサク書けるMarkdownをesaで体験する2021/6/20 5:372021/8/8 10:27

HTMLとMarkdownの関係

Markdownが使われる最大の理由は、「ブラウザで表示するドキュメントを見やすくしたい」ということです。
ここで察しのいい読者の方であれば、ブラウザで表示するドキュメントを見やすくするために作られた言語がすでにあることに気付くはずです。それは、HTMLです。ドキュメントを見やすくするためには、見出しや箇条書きや引用などドキュメントの要素が表現できてそれらがわかりやすく表示される必要があります。HTMLはまさにテキストに意味を与えて、その意味に応じたスタイルで表示するための言語でした。
しかし、HTMLは汎用性が高い分、記述するのが大変であるというデメリットがあります。様々なレイアウトのドキュメントを表現できる一方で、タグや属性の種類が多かったりタグを書くのが面倒だったりなど、記述が煩雑である側面があります。シンプルなドキュメントを書くという目的に絞れば、より自由度を下げて簡単に書けるようなHTMLの代替となる言語が作れるはずです。
そうして生まれたのが、Markdownです。Markdownは、いわば「機能制限版のHTML」と言えます。
技術的には、Markdownで書かれたテキストはHTMLに変換されてからブラウザで表示されています。たとえば、次のようなMarkdownテキストがあったとします。
Markdown
これは、およそ次のようなHTMLに変換されます。
HTML
(実際にどのようなHTMLに変換されるかは、ツールによって若干異なります。)
なお、Markdownが書けるツールの一部では、Markdownの中にHTMLタグをそのまま書いても動く場合があります。チュートリアルでも、esaで画像をアップロードした場合にはHTMLのimgタグが挿入されるという説明をしました。最終的にHTMLに変換されるのであれば、元からHTMLを書いても動くというのは納得です。
上記の理由から、ある程度のHTMLを理解しておくとMarkdownエディタでどのようなことが実現できるのかのイメージがつくので、Markdownが書きやすくなって便利です。

Markdown言語の多様性

Markdownという言語は、仕様が明確に標準化されているものではありません。一般的に、近年プログラミングやマークアップで使われる主要な言語については、特定の企業、コミュニティ、標準化団体によってその言語仕様が決定され文書化されていきます。世代によってバージョンの違いはあれど、最新の標準仕様というものがインターネット上のどこかに明示されています。しかし、Markdown言語にはそうした標準化の仕組みがありません。2004年に初めてMarkdownをHTMLに変換するツールが生まれてから、「Markdownとはこう書くよね」という慣習が少しずつ変化しながら、様々なツールで使われてきました。
こうした事情もあって、Markdownの書き方にはツール毎に微妙に差異があります。中にはMarkdownと同じ用途で書き方がMarkdownとは違うツール独自記法が採用されているケースもあります。また「Markdownが使えます」と明記されている場合であっても、ツール間で書き味が違ったり、同じMarkdownテキストが違う見た目で表示されたりすることもあります。
とはいえ、シンプルなドキュメントであればMarkdownツール間でテキストをコピペで移動させても、大抵は同じように表示されます。リッチテキストエディタ同士のドキュメントの移動に比べれば、よっぽど楽でわかりやすいはずです。Markdownを信用しすぎるのは危ないですが、1度覚えたMarkdownは様々なところで便利に使えるはずです。

Markdownが使える主なWebサービス

日本国内でよく使われているサービスの中で、Markdownが使える主なサービスは次の通りです。

ドキュメント管理ツール

タスク管理ツール

ブログサービス

もっと詳しく知りたい方へ