このページの本文へ

前へ 1 2 次へ

Windows Info 第491回

最近見かけることが増えた「Markdown」とはそもそも何?

2025年07月27日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 GitHubなど、簡易な書式付きテキストの作成に「Markdown(マークダウン)」を使うことが増えてきた。前回扱ったPowerToysのFile Explorer add-onにもマークダウンのプレビューハンドラがある。これを使うことで、エクスプローラーからもマークダウンのプレビューが可能になる。

Markdown

PowerToysのFile Explorer Add-onで「マークダウン」のプレビューを有効にすると、エクスプローラーのプレビュー領域でレンダリングされたマークダウンのプレビューができる

そもそもMarkdownとはなんぞや?

 Markdownは、軽量のマークアップ言語として作られた。「マークダウン」という名称は、SGML(Standard Generalized Markup Language)やHTML(HyperText Markup Language)などの「マークアップ言語」とは違って「軽い」というイメージを持たせたとされている。

 Markdownは、基本的には簡易な表現を使って記述し、これをHTMLに変換してウェブブラウザなどで表示する。最初は、マークダウンをHTMLに変換するPerlのスクリプトがあっただけで、レンダリングのプログラムなどは作られなかった。このあたりも含めて、実装も“軽く”できていたのである。

 ただ、非公式の簡単な仕様と、Perlによる実装があるのみだったために、結果的に多数の「方言」(dialect)を生み出した。以下の表にオリジナルの仕様を示す。オリジナルの仕様では、テーブルなどに関しては、HTMLを直接記述することが想定されていた。

Markdown

 Markdownは便利だが、オリジナルの仕様では記述力が少々弱く、一般的なウェブページを作るには、HTMLを直接記述する必要があった。また、オリジナルのMarkdown/HTML変換スクリプトは、それほど複雑なものでもなかったことから、多くの開発者が機能を追加し、さまざまな実装が登場した。

Markdownのファイルは誰が見るのか?

 ただ、こうしたマークアップ言語の常として、レンダリングされたものを見るのは、データを受け取った相手であり、自分はマークアップの作成側になることが多い。この場合、ミニマムな仕様を使うことが望ましくなる。

 別のパターンとしては、サービスがMarkdownファイルを要求する場合がある。たとえば、GitHubのREADMEファイルは、GFM(GitHub Flavored Markdown)と呼ばれる仕様を受け付ける。もちろん、ミニマムなオリジナル仕様でも問題はないが、文書によっては、テーブルのような要素を必要とすることがあるだろう。

 最後のパターンは、個人用のデータ記録形式として使う場合だ。この場合、作るのも見るのも自分だけなので、細かい実装の違いを意識することはない。しかし、多くの場合、何らかのMarkdownエディタを使うことになり、その仕様に従わねばならないことが多い。

 Markdownは簡易で覚えやすいというメリットもあるが、Markdownでなければならないという場合は少なく、他の形式でも同じという場合がある。たとえば、Microsoft Wordやその互換ソフトウェアであれば、GUIを使った書式設定や、高度な組版ルールの適用が可能だ。

Markdownの標準化

 多くの開発者がMarkdownの実装にあたって、さまざまな拡張機能を追加した。Markdownのオリジナルの開発者は、他の開発者に厳密な実装を要求するわけでもなく、また、標準化のための活動も進まなかった。どちらかというと自分たちのために作ったものが、広く世間に広まったので、そのままにしていたという感じだった。

 ただ、前述のように、他人の作成したMarkdownを見るというパターンを考えると、標準化を望む声もあった。あるいは、GitHub仕様のように人気の高いサービスが既定する仕様を利用することを考える人たちもいた。

 現状としては、以下の表のような仕様が標準的なものとしてある。

Markdown

 最小限の仕様として、開発者のウェブページにあるMarkdownの仕様がある。まずは、これを基本として利用するのがいいだろう。前述の表ではこれを「オリジナル」と表記してある。

 CommonMarkは、Markdownの標準化活動の1つ。Markdownの実装を行った開発者、サービス主宰組織などから集まったメンバーによる標準化に対する議論が行われている。ただし、現状では、暫定的なスペックはあるものの、バージョンが0.31.2(2024年1月28日)となっているように、最終段階というわけでもない。

 もう1つは、RFCによる定義がある。メールのマルチメディア形式であるMIMEにMarkdownをMEDIA Typeとして取り込む関係で対象を明確にする必要があった。RFC 7763では、これをオリジナルに求めた。しかし、これだけでは標準化の動きや利用率の高い実装に対応しきれない。

 そこでガイダンスとしてRFC 7764を定義する。同時に、text/markdownメディアタイプのVariantをIANAで定義した。IANAで定義されたからといって必ずしも何らかのお墨付きが得られるわけではないが、主要な実装であることの判断は可能だ。

 以下の表は、IANAに登録されているVARIANTSの一覧である。

Markdown

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン