http://daringfireball.net/projects/markdown/syntax が英語でめんどくさい。

unmovabletype.org に Markdown 記法の日本語での解説があったらしいんだが、残念ながら今は閉鎖されている。まじっすか。

というわけで、このエントリは、ヲレ用 Markdown 記法メモ。っつーか上のリンク先の用例をコピペしただけという噂も。

追記:05/06/07

目次を追加。あと、チェック用にDingusへのリンクも追加しとこう。

Block Element

Span Elements

Miscelleneous

Block Elements

Paragraph

空行があれば、そこで paragraph が切り替わる。


Header

二種類の書き方が。 Setext 記法。

This is an H1
=============

This is an H2
-------------

This is an H1

This is an H2


atx 記法。# の数。

# This is an H1

## This is an H2

### This is an H3

#### This is an H4

##### This is an H5

###### This is an H6

This is an H1

This is an H2

This is an H3

This is an H4

This is an H5
This is an H6

Blockquote

行頭に > があれば、blockquote になる。

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.

This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.


パラグラフの先頭に > を入れると、そのパラグラフ全体は blockquote になる。

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id
sem consectetuer libero luctus adipiscing.

This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.


いくつか > を重ねて書いて、blockquote をネストできる。

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.

This is the first level of quoting.

This is nested blockquote.

Back to the first level.


blockquote のなかで、Markdown 記法が使える。

> ## This is a header.
> 
> 1.   This is the first list item.
> 2.   This is the second list item.
> 
> Here's some example code:
> 
>     return shell_exec("echo $input | $markdown_script");

This is a header.

  1. This is the first list item.
  2. This is the second list item.

Here’s some example code:

return shell_exec("echo $input | $markdown_script");

List

ul は行頭に +, , – のどれか。

*   Red
*   Green
*   Blue
+   Red
+   Green
+   Blue
-   Red
-   Green
-   Blue
  • Red
  • Green
  • Blue
  • Red
  • Green
  • Blue
  • Red
  • Green
  • Blue

ol は、数字の後ろにピリオド(.)。

1.  Bird
2.  McHale
3.  Parish
  1. Bird
  2. McHale
  3. Parish

数字は順番じゃなくていい。

1.  Bird
1.  McHale
1.  Parish
3.  Bird
1.  McHale
8.  Parish
  1. Bird
  2. McHale
  3. Parish
  4. Bird
  5. McHale
  6. Parish

li の中で改行しても、左のマージンを空けるためにスペースとか入れなくてもいい。

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
  • Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
Suspendisse id sem consectetuer libero luctus adipiscing.
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
  • Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.

li の中で空行を入れると、li の要素が paragraph 化される(ソース参照)。

*   Bird

*   Magic
  • Bird

  • Magic


li の中身を複数の paragraph にするときは、パラグラフの頭に 4 space か tab を入れる。行頭すべてじゃなくてもいい。

1.  This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

2.  Suspendisse id sem consectetuer libero luctus adipiscing.
  1. This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

  2. Suspendisse id sem consectetuer libero luctus adipiscing.

*   This is a list item with two paragraphs.

    This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.

*   Another item in the same list.
  • This is a list item with two paragraphs.

    This is the second paragraph in the list item. You’re only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

  • Another item in the same list.


li の中に blockquote をいれるなら、行頭の > をインデント、 code を入れるなら、行頭に 8 space を入れる。

*   A list item with a blockquote:

    > This is a blockquote
    > inside a list item.
  • A list item with a blockquote:

    This is a blockquote inside a list item.

*   A list item with a code block:

        <code goes here>
  • A list item with a code block:

    <code goes here>
    

文頭に\d+. (数字+ピリオド) がきちゃうけど ol と解釈させたくない場合は、バックスラッシュ(円記号になっちゃうかも)で回避。

1986. What a great season.
  1. What a great season.
1986\. What a great season.

1986. What a great season.


Code Block

4 space か 1 tab で code block になる。このページのソース参照。

This is a normal paragraph:

    This is a code block.

This is a normal paragraph:

This is a code block.

インデントが無い行が続くかぎり、code block のまま。

Here is an example of AppleScript:

    tell application "Foo" 
        beep
    end tell

Here is an example of AppleScript:

tell application "Foo" 
    beep
end tell

code block 中での ampersand とか bracket は HTML entity に変換してしまう。そいでもって、 code block 中では Markdown syntax は無効。

    <div class="footer">
        © 2004 Foo Corporation
    </div>
<div class="footer">
    © 2004 Foo Corporation
</div>

Horizontal Rule

hyphen、 asterisk、 underscore のどれかを三つ以上書いた行は、hr になる。間に空白が入っても可。 hyphen は header に解釈されて悲しくなることがある。

* * *

***

*****

- - -

---------------------------------------

_ _ _

Span Elements

Link

inline と reference の二つのやりかたがある。 inline は文中にリンクを [] で埋め込む。ソース参照

This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.

This is an example inline link.

This link has no title attribute.

ローカルなリソースにもリンクを張れる。

See my [About](/about/) page for details.

reference スタイルは、二つの [] でできている。ラベルと id のあいだに space が入っても大丈夫。

This is [an example][id] reference-style link.

This is [an example] [id] reference-style link.

んで、文書のどこかで、id の実際の参照先を規定しておく。論文の引用文献表記に近い感じか。

[id]: http://example.com/  "Optional Title Here" 

うしろの “Optional Title Here” の使い道が今ひとつ判らない。 ”” で囲まれた文字は、 a タグの title 要素。

参照 URL は <> で囲んでもいい。

[id]: <http://example.com/>  "Optional Title Here" 

URL が長いときは、title 要素を次の行に書ける。そのとき、title 要素は space か tab で行頭に空白をあけておく。

[id]: http://example.com/longish/path/to/resource/here
    "Optional Title Here" 

あと、id は case insensitive なので注意。

link text = id でいいときは、id 欄は何も入れなくても大丈夫。というか id = link text っつーこと。

[Google][]

[Google]: http://google.com/

paragraph 中に link が多くなるなら、inline style よりも reference style にしとくと見通しが良くなると思われ。


Emphasis

asterisk() か underscore(_) を使う。一個で em 二個で strongになる。

*single asterisks*

_single underscores_

**double asterisks**

__double underscores__

single asterisks

single underscores

double asterisks

double underscores

単語の途中で挟んでも使える。 * _ が空白で囲まれているときはそのまま * _ が表示される。 * _ で囲んでも em や strong に解釈されたくないときは、バックスラッシュ(\)で回避。

un*fucking*believable

\*this text is surrounded by literal asterisks\*

unfuckingbelievable

this text is surrounded by literal asterisks


Code

code の span を使うときは、backtick quotes (\) で囲む。 code span 中に backtick quote を使うときは、\` で囲む。

Use the `printf()` function.

``There is a literal backtick (`) here.``

Use the printf() function.

There is a literal backtick (`) here.

delimiter の周りに空白があるときは、その空白も含めて delimiter になる。

A single backtick in a code span: `` ` ``

A backtick-delimited string in a code span: `` `foo` ``

A single backtick in a code span: `

A backtick-delimited string in a code span: `foo`

code span 中では、ampersand や bracket は HTML entity に変換される。

`&#8212;` is the decimal-encoded equivalent of &mdash;`.

&amp;#8212; is the decimal-encoded equivalent of &amp;mdash;.


Image

通常の link の作法の頭に excramatin mark (!) をつける。なので inline style と reference style がある。要素の細かい指定(サイズとか)をしたいときは img を使ったほうがいい。

![Alt text](/path/to/img.jpg)

![Alt text](/path/to/img.jpg "Optional title")
![Alt text][id]

[id]: url/to/image  "Optional title attribute" 

Miscelleneous

Automatic Link

bracket( < > )で囲むと自動リンクになる。

<http://example.com/>

これは

[http://example.com/](http://example.com/)

とおんなじ。

メールアドレスを bracket で囲むと、 spambot よけにアドレスを変換してくれる。ブラウザでは普通に読める。ソース参照。

<address@example.com>

address@example.com


Backslash Escape

\で escape する文字は以下。ぬは、angle bracket(<>) は escape できない罠。

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parentheses
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark

っつーか

<>

って書くだけだと literal になってくれるのか?


ういー、疲れた。