Markdownとは何か
Markdownは、「# 見出し」や「- 箇条書き」のような記号を使って、文章の構造を書く方法です。
書いた文章は、Webページの形式(HTML)に変換して表示できます。
CommonMarkという仕様は、Markdownを「構造のある文書を書くための、飾りのないテキスト形式」と説明しています [M1]。
インターネットの技術文書(RFC 7763)は、Markdownを「記号で書く書き方の、ひとつの系統(ファミリー)」と位置づけています。
典型的な使い方は、左に書く画面、右に変換後の見た目を並べるエディターです [M2]。
HTMLが「公開するための形式」なら、Markdownは「書くための形式」というわけです [M2]。
以下例文。
# Markdown(マークダウン)の書き方ガイド
この文章自体が、Markdownの基本ルールを説明するサンプルになっています。
## 1. 見出し(#の記号)
行の先頭に `#` を付けると見出しになります。
`#` の数が増えるほど、小さな見出し(h1〜h6)になります。
※注意:`#` の後ろには、必ず**半角スペース**を1つ入れてください。
## 2. 文字の装飾
文字を強調したいときは、記号で挟みます。
- **太字**: アスタリスク2つ `**` で挟みます。(例:**ここを強調**)
- *斜体*: アスタリスク1つ `*` で挟みます。(例:*斜体になります*)
## 3. 箇条書きリスト
行の先頭に `-`(ハイフン)と半角スペースを置くと、箇条書きになります。
- 箇条書きの上下には、必ず「空行(1行あける)」を入れてください。
- これを忘れると、うまくリストとして表示されないことがあります。
## 4. リンクと引用
- **リンク**: `[表示する文字](URL)` の形で書きます。
- **引用**: 行の先頭に `>` を置くと、他の文章を引用(> 引用文)できます。
「これが公式」と言える仕様はない
ここがいちばん大切な点です。
Markdownを考案した人による説明書はありましたが、細かいところが曖昧でした。
当時の開発者たちは、見本として配られたプログラムの動きを頼りにしていましたが、そのプログラムにはバグも多く、「仕様の代わり」にはなりませんでした。
その結果、ソフトごとに微妙な違いが広がってしまった、とCommonMarkの仕様は説明しています [M1]。
そこで、曖昧さをなくすことを目指して作られたのがCommonMarkです [M1]。
RFC 7763も、Markdownには多くの方言があると述べています。
このRFCの目的は、書き方を標準にすることではなく、ファイルの種類を示すラベル(text/markdown)を登録することでした [M2]。
注記:「RFC 7763はMarkdownの書き方を標準化していない」という点は、
RFCの位置づけ(参考情報)と要旨・方言の節から読み取れる内容で、一部は私の解釈です。
気になる方は、本文の「Markdown Variants(Markdownの方言)」をご確認ください [M2]。
「Markdownで書いた」が通じない場面
CommonMarkの仕様は、表や脚注といった書き方を、各ソフトが独自に付け足してきた経緯にも触れています [M1]。
つまり、ある場所で表がきれいに表示できたとしても、別の場所で同じ見た目になるとは限りません。ブログやドキュメントのツールに貼る前に、そのツールがどの方言に対応しているかを確認しておくと安心です。
「間違ったMarkdown」はない
CommonMarkでは、どんな文字の並びも「有効な文書」として扱います [M1]。
JSONやXMLのように「書き方を間違えると読み込めない」という厳しい形式とは違い、とても寛容な書き方だとわかります。
参照元
[M1] CommonMark Spec — https://spec.commonmark.org/
[M2] IETF, RFC 7763: The text/markdown Media Type — https://www.rfc-editor.org/rfc/rfc7763

コメント