**Markdown**とは、Markupの反対語…ではなくて、markup言語の一つである。
## 概要
マークアップ言語で最も普及しているものといえばHTML(HyperText Markup Language)であるが、残念ながらHTMLのソースコードには開始タグやら終了タグやらでタグの名前が多数入っていて、(コードとしてはわかりやすいかもしれないが)文書としては読みづらいものになっている。
そこで、
マークアップ言語としてJohn Gruberによって2004年に考案されたのがMarkdownである。
拡張子として公式なものはないが、".md"が用いられることがある。テキストファイルなので".txt"でも構わない。
仕様がシンプルなので、サイトごとに拡張された方言が多数存在する。採用しているサイトとしては、いくつかのブログやWikiサイトの他、有名所としてはGitHubがある。
## 文法
Markdownは機能的にはHTMLのサブセットであり、主な文法には下記のようなものがある。方言によってはtableの作成までサポートしている。
### 見出し
見出しはHTMLの見出しレベル(`<h2>`の2)に相当する数の#を行の先頭に付けるだけ。
### 段落
段落は空行を1行以上はさむことで区切られる。空行のない改行はHTML同様に無視される。
### リスト
番号なしリスト(unordered list)は行の先頭に*(+や-でも可)をつけるだけ。
番号ありリスト(ordered list)は行の先頭に1. というようにピリオド付き番号を振っていく。
### 強調
強調は、1個もしくは2個の、*または_で囲むことで指定できる。HTMLに変換すると1個の場合は`<em>`に2個の場合は`<strong>`に変換される。
### リンク
リンクは` [リンクするテキスト](アドレス "タイトル") `という書式になる。タイトルは省略できる。
### コード
バッククォート\`で囲んだ部分はソースコードとして認識され、Markdownとして処理されない。
複数行に渡る場合はバッククォートで3重に囲む…というのはGitHubなどの方言で、オリジナルのMarkdownではコードブロックは、タブもしくは4個のスペースでインデントされた段落として表現される。
### エスケープ
バックスラッシュ`\`を前につけることでMarkdown文法上意味のある文字を単なる文字として扱うことが出来る。
## 関連動画
オリジナルのMarkdownはiframeやtableには対応していないが、Markdownのテキスト中に生HTMLを書いても構わないことになっており、方言に頼らずにtableを作ることも不可能ではない。
## 関連リンク
下記公式ページではMarkdownをHTMLに変換するPerlスクリプトが公開されている。厳密に言うとこのリファレンス実装とも言えるツール自体の名前もMarkdownである。
## 関連項目
- 3
- 0pt