Markdown - 誰でも書ける簡単便利な書法

Markdownとは

Markdownはテキストベースの文書形式です。

Windows付属のメモ帳など普通のテキストエディタで書くことができますが、 とても簡単な書き方の規則に従うだけで本格的な文書を書くことができます。

書き方は非常に簡単で非常に素敵な文書を作ることができます。

Markdown自体は特に見た目や表示方法を持つわけではありません。 Markdownはドキュメントメタフォーマットと呼ばれるものに属し、ドキュメントプロセッサと呼ばれるプログラムを使って他の文書形式に変換して使用します。

Markdownはメジャーな形式なので、様々なドキュメントプロセッサや、Markdownの記述をサポートするテキストエディタが存在しています。 これらのドキュメントプロセッサを使って

  • HTML形式 - ウェブで使われるドキュメント。あなたが今見ているもの
  • TeX形式 - 数式も書くことのできる、論文記述向きの組版システム用の言語。TeX処理系を使用することで美しい印刷向きのフォーマットに変換できる
  • PDF形式 - HTML形式やTeX形式を経由して印刷に適したPDFフォーマット
  • Docx形式 - Microsoft Wordで使用するDocx文書形式
  • Slidy Slide - HTMLとJavaScriptを使ったプレゼンテーションスライド
  • Reveal.js slide - Slidyとはまた別の、HTMLとJavaScriptを使ったプレゼンテーションスライド

などに変換することができます。

HTMLに変換すればウェブブラウザを使って美しく表示することもできますし、 TeX経由でPDFに変換すれば美麗な文書で印刷もできます。

Docxに変換し、Wordで調整して仕上げるという方法もあります。

テキストエディタで記述できる文書であるため、Reveal.jsを使ったスライドはPowerpointを使うよりも快適、柔軟にプレゼンテーションスライドを作ることができます。

Mimir YokohamaのウェブサイトはMarkdownを使って記述されています1。 また、公開されているスライド―例えばプログラミング初学基礎―はMarkdownで書いたものをReveal.jsスライドにしています。

Markdownの方言

MarkdownのオリジナルはMarkdown.plですが、 これは誰でも書けるように非常に限定的な機能になっています。

Markdownの人気に従って、様々なところで使われるようになり、これに伴ってMarkdownにはより多くの機能が求められるようになりました。

このため、様々なプロセッサがMarkdownを拡張してきました。 この影響で「Markdown」と呼ばれているものに、プロセッサによる拡張での違い、「方言」があります。

代表的な方言は、プログラムのソースコード共有サービスであるGitHubで使用されているGFM(GitHub Flavored Markdown)と、 PHPで書かれたプロセッサの方言であるPHP Markdown Extraです。

また、Markdownのプロセッサとして人気の高いPandocは、GFM及びPHP Markdown Extraの両方に対応しているだけでなく、 両方を取り込んで、さらに高機能に拡張されたPandoc Markdownを使用できます。

このサイトの構築はPandocが使用されているため、Pandoc Markdownで書かれています。

これらの方言は強力ですが、ここでは「誰でも書ける」ことを重視するため、Markdown.plにもあるものを紹介します。

Markdownを書く

メモ帳でも良いのですが、良いテキストエディタがあるとより書きやすいでしょう。

Markdownの書き方

段落

改行はただのスペースとみなされます。 空行を空けた場合、連続した行のまとまりがひとつの段落となります。

Markdownの段落です。
これは段落1の続きです。

ここが段落2になります。

これが段落3です。
段落3の続きです。

見出し

#ではじまる行は見出し(章立て)になります。

#の数によって見出しのレベルが変わり、数が増えるほど小さな見出しになります。 最大は6です。

# 章1

## 章1の節1

## 章1の節1

# 章2

## 章2の節1

### 章2の節1の項1

## 章2の節2

### 章2の節2の項1

箇条書き

*ではじまる場合、箇条書きになります。スペースを入れることを忘れないでください。

* りんご
* ばなな
* あっぷる

入れ子になったリストを作りたい場合、入れ子になった部分には先頭にスペースを4つ足します。

* にく
* やさい
* くだもの
    * りんご
    * ばなな
    * あっぷる

また、数字のあとに.をつけると順序つきの箇条書きになります。

1. 砂糖
1. 
1. 
1. 醤油
1. 味噌

順序に合わせた数字でなくても自動的に順番にしてくれますが、0.だとプロセッサによっては0からはじまるようになるようです。

画像

画像は次のような形式になります。

![画像の見出し](画像のURL)

URLですので、ファイルパスで書く必要があり、ちょっと難しいかもしれません。 一番単純な方法は、Markdownファイルと同じフォルダに画像を置いて

![猫の画像](cat.jpg)

のようにすることでしょう。

引用

引用を示すには、各行が>ではじまる段落を書きます。

彼はいいました。

> 生きるか死ぬか、それが問題だ。
> どうして君はジュリエットなんだ。

Markdownを変換する

エディタを使う

Markdownの専用エディタはプレビュー機能があり、プレビュー機能の右クリックからHTMLで保存できる、というのが一般的です。

WindowsのMarkdownエディタとしては次のようなものがあります。

  • CuteMarkEd
  • Markdown#Editor
  • MarkdownPad
  • Atom

Atomの場合Ctrl+Shift+Mでマークダウンプレビューを開きます。

Pandocを使う

Pandocを使う場合はコマンドを使用する必要があります。

詳しい説明は避けますが、次のようにします。

pandoc -t html5 -s -M "title=タイトル" source.md

しかしコマンドの使い方などちょっと初心者には敷居が高いでしょう。

もっとも、Pandocの使い方は覚える価値はあると思いますけれどね。


  1. ただし、単純にMarkdownをHTMLに変換しているわけではなく、魔改造されたPandocテンプレートと、ウェブサイト構築システムのPureBuilder Simplyを組み合わせています。↩︎