Markdown

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Markdown(マークダウン)は、文書を記述するための軽量マークアップ言語のひとつである。もともとは読みやすいプレーンテキスト形式の文書をHTML化するために開発されたものの、現在ではHTMLのほかパワーポイント形式やLaTeX形式のファイルへ変換するソフトウェア(コンバータ)も開発されている。コンバータの開発者により追加される機能(方言)が多様であり、拡張性に富む記法であることが伺える。

概要[編集]

「書きやすくて読みやすいプレーンテキストとして記述した文書を、妥当なXHTML(もしくはHTML)文書へと変換できるフォーマット」として、ジョン・グル―バー英語版により作成された。アーロン・スワーツも大きな貢献をしている。[1]Markdown の記法の多くは、電子メールにおいてプレーンテキストを装飾する際の慣習から着想を得ている。

Markdown はグルーバーによって書かれた Markdown.pl という Perl プログラムを指すこともある。このスクリプトは、Markdown の形式でマークアップされたテキストをXHTML文書もしくはHTML文書に変換するものである。Markdown.pl はスクリプト単体として利用することができると同時に、BlosxomMovable Type のプラグインなどからも利用できる。[1]

Markdown.pl は、その後第三者によって CPANPerl モジュールText::Markdown)として再実装され、さらに Python 等の他のプログラミング言語でも実装された。MarkdownBSDライセンスの下で配布され、いくつかのCMSでもプラグインとして利用できる。[2][3]

利用例と方言[編集]

有名なMarkdown方言としてMarkdown Extra英語版[1]GitHub Flavored Markdown[2]Marukuなどがある。その他のサービス・コンバータにおいてもソースコードの記法などで独自の拡張が加えられていることが多い。また標準化への動きとして、IETFIESGdraft-ietf-appsawg-text-markdownをインターネットドラフトとして提案している。以下にMarkdownの利用例を挙げる。

  • Stack Overflow や他の Stack Exchange Network サイトは、Markdown を改変した方言をデフォルトのフォーマットシステムとして利用している。[4][5]
  • PosterousMarkdown をマークアップの選択肢として提供している。[6]
  • RedditMarkdown を利用している。[7]
  • GitHubMarkdown の方言をコメント・メッセージ・その他のフォーマットに利用している。[8][9] John Gruber has described this dialect as a "superior variant" for "situations like user-submitted comments".[10]
  • Bitbucket は、README 記述用のマークアップ言語の選択肢として Markdown を提供している。[11]
  • InstikiMarkdown 拡張を使ってウィキ構文を提供している。この拡張構文は Maruku と呼ばれる。[12]
  • Squarespace はブログエントリ記述用のマークアップの選択肢として Markdown を提供している。[13]
  • TumblrMarkdown でポストを編集できる[14]
  • MultiMarkdown英語版
  • StackEdit[3]はオンラインMarkdownエディタの一つ。GitHub Flavored Markdownに、数式記述(MathJaxによる)とUMLシーケンス図フローチャートを記述できる拡張が加えられている。

記法の例[編集]

以下の例は Markdown の記法の包括的なリストではないし、ひとつの効果を実現するために複数の記法が利用できる場合も多い。詳細はfull Markdown syntax に記載されている。Markdown が書式化コマンドとして解釈する文字は、バックスラッシュを加えることによって、その文字そのものとして解釈させることができる。例えば「\*」は、テキスト強調の開始ではなくアスタリスクとして出力される。 また「生」のXHTMLのブロックレベル要素の中にあるテキストに対して Markdown はいかなる変換も行わないので、XHTMLのブロックレベル要素のタグでテキストを囲むことによって、Markdown のソース文章の中にXHTMLのセクションを加えることもできる。

段落[編集]

段落は1つ以上の連続したテキストであり、空行によって分けられる。通常の段落をスペースやタブでインデントしてはならない:

これは段落です。2つの文があります。

これは別の段落です。ここにも2つの文があります。

改行[編集]

テキストに挿入された改行は最終的な結果から取り除かれる。これは、画面の大きさに応じて改行を行う処理はWebブラウザが担当すべきであるという設計思想による。強制的に改行したい場合は、行末に2つのスペースを挿入すればよい。

テキストの強調[編集]

*強調* もしくは _強調_(斜体として表現されることが多い)
**強い強調** もしくは __強い強調__(太字として表現されることが多い)

コード[編集]

コード(等幅フォントで整形される)を含める場合、インラインコードは「`some code`」のようにバッククオート(U+0060)で囲むことになる。

複数行にまたがるコードは、4つ以上のスペースを行頭に書く。

    1行目
    2行目
    3行目

Markdown は通常、改行や連続したスペースを削除するため、インデントやコードのレイアウトを壊す可能性があるが、この場合 Markdown は空白をすべて保持する。

リスト[編集]

* 順序無しリストのアイテム
   * サブアイテムは4つのスペースでインデントする
* 順序無しリストの別のアイテム

<!-- dummy comment line for breaking list -->

1. 順序付きリストのアイテム
2. 順序付きリストの別のアイテム

見出し[編集]

HTMLの見出しは、テキストの前にいくつかの'#'を置くことで作ることができる。'#'の数が見出しのレベルに対応する(HTMLは、見出しのレベルを6まで提供している)。

# レベル1の見出し
#### レベル4の見出し

最初の2つのレベルには代替の記法が存在する:

レベル1の見出し
===============
レベル2の見出し
---------------

引用[編集]

> "このテキストは、HTMLのblockquote要素に囲まれます。
blockquote要素はreflowableです。テキストを好きなように
改行することができます。改行したとしても、変換後はひとつの
blockquote要素として扱われます。"

上記は次のようなHTMLに変換される。

<blockquote>
  <p>このテキストは、HTMLのblockquote要素に囲まれます。
blockquote要素はreflowableです。テキストを好きなように
改行することができます。改行したとしても、変換後はひとつの
blockquote要素として扱われます。</p>
</blockquote>

リンク[編集]

リンクは次のように記述できる。

[リンクのテキスト](リンクのアドレス "リンクのタイトル")

参照目的のリンクとして、脚注として段落外に含めることもできる。

[リンクのテキスト][linkref]

段落外もしくは文書の最後に次のような記述があれば、それは参照リンクとして機能する。

[linkref]: リンクのアドレス "リンクのタイトル"

水平線[編集]

1行の中に、3つ以上のハイフンやアスタリスク・アンダースコアだけを並べると水平線が作られる。ハイフンやアスタリスクのあいだには空白を入れてもよい。以下の行はすべて水平線を生成する:

* * *
***
*****
- - -
---------------------------------------

関連項目[編集]

脚注[編集]

[ヘルプ]
  1. ^ a b Markdown 1.0.1 readme source codeDaring Fireball - Markdown” (2004年12月17日). 2011年11月13日閲覧。
  2. ^ MarsEdit 2.3 ties the knot with Tumblr support - Ars Technica”. 2009年8月11日閲覧。
  3. ^ Review: Practical Django Projects - Ars Technica”. 2009年8月11日閲覧。
  4. ^ Markdown Editing Help - Stack Overflow”. 2010年4月29日閲覧。
  5. ^ Three Markdown Gotchas - Blog – Stack Overflow”. 2010年4月29日閲覧。
  6. ^ Markdown - Posterous Help”. 2013年4月27日時点のオリジナル[リンク切れ]よりアーカイブ。2010年6月26日閲覧。
  7. ^ Reddit's help document on Markdown”. 2010年7月20日閲覧。
  8. ^ Making GitHub More Open: Git-backed Wikis - GitHub”. 2010年9月1日閲覧。
  9. ^ GitHub Flavored Markdown - Introduction”. 2011年1月3日閲覧。
  10. ^ Daring Fireball Linked List: GitHub Flavored Markdown”. 2011年1月3日閲覧。
  11. ^ Displaying README Text on your Bitbucket Source Tab”. 2012年12月27日閲覧。
  12. ^ Markup Choices in Instiki”. 2010年8月24日閲覧。
  13. ^ Squarespace Mini-Reference”. 2010年9月30日閲覧。
  14. ^ Tumblr Preferences”. 2011年1月3日閲覧。

外部リンク[編集]