Markdown 格式化语法之要旨
Markdown 使用起来是什么样子?这个页面提供了一点概观性的介绍。而更完整详尽的文档在语法页面中,那儿包括了所有特性的说明——其实在看过几个 Markdown 的例子后你就足以了解大要了。所以,下面的例子就用处理前后结果的对比来展示 Markdown 的用法。
在阅读的同时试一试也是很有必要的,Dingus 这个程序可以让你在线输入用 Markdown 标记的文本,并将它转换成 XHTML。
注意:这份文档本身也是用 Markdown 写就的。你可以通过这个链接找到它的源代码。
段落,标题,Blockquotes
所谓段落不过是一行或者数行连续的文本,段落之间通过一个或者数个空行分隔 (而只要看起来像一行空白的就算是“空行”了,比如说只包含空格和 Tab 的一行,也算作空行。),这里的段落在开头不需要——也不应当——用空格或者 Tab 来缩进。
Markdown 提供了两种风格的标题:Setext 和 atx。Setext 风格的 <‘h1’> 和 <‘h2’> 是分别通过在标题的文本下边一行加上等号 (=) 或者连字符 (-) 组成的。若要创建 atx 风格的标题,你可以在把 1-6 个井号 (#) 放在标题那一行的前头——井号的数量就对应着结果中 HTML 标题的级别。
Blockquotes (引用区块) 则是通过 email 风格的 '>' 尖括号表示的。
Markdown:
一级标题
========
二级标题
--------
有一座小山旁边,住着一匹老马和一匹小马。
小马整天跟着妈妈,从来不肯离开一步。这只
不过是一段常见的文本。
小马停住脚抬头一看,原来是一只小松鼠。
### 三级标题
> 这是一个 blockquote。
>
> 这是引用区块的第二段。
>
> ## 这是一个 blockquote 中的 H2
输出:
一级标题
二级标题
有一座小山旁边,住着一匹老马和一匹小马。
小马整天跟着妈妈,从来不肯离开一步。这只
不过是一段常见的文本。
小马停住脚抬头一看,原来是一只小松鼠。
三级标题
这是一个 blockquote。
这是引用区块的第二段。
这是一个 blockquote 中的 H2
短语的强调
Markdown 是用星号和下划线来表示强调。
Markdown:
这里有些词*应被强调*。
这里也有些词_应被强调_。
两个星号代表的是**特别强调**。
或者,如果你喜欢的话,__用两个下划线也可以__。
输出:
这里有些词应被强调。
这里也有些词应被强调。
两个星号代表的是特别强调.
或者,如果你喜欢的话,用两个下划线也可以。
列表
无序列表 (通常用圆点开头的那种) 可以用星号、加号或连字符 (*, +, 或 -) 作为列表项的起始符。这些符号都是可以互换的,比如说这个:
* 小驴叔叔
* 老牛伯伯
* 小松鼠
这个:
+ 小驴叔叔
+ 老牛伯伯
+ 小松鼠
与这个:
- 小驴叔叔
- 老牛伯伯
- 小松鼠
都将生成相同的输出:
- 小驴叔叔
- 老牛伯伯
- 小松鼠
有序列表则是用常规的数字带小数点 (.) 表示的:
1. 小驴叔叔
2. 老牛伯伯
3. 小松鼠
输出:
- 小驴叔叔
- 老牛伯伯
- 小松鼠
不过,如果你在列表项之间放置了空行,列表项中的文本会被
包含。而这些段落之前若用 4 个空格或者 1 个 tab 缩进的话,就能获得具有多个段落的列表项。
* 一个列表项。
具有多个段落。
* 同一个列表中的又一项。
输出:
-
一个列表项。
具有多个段落。
-
同一个列表中的又一项。
链接
Markdown 支持两种创建链接的方法:行内式和引用式。这两种方法都需要你用方括号包围希望转换为链接的文本。
行内风格的链接是在链接文本后面用圆括号直接包含链接地址。例如:
这是一个[示例链接](http://example.com/)。
输出:
这是一个
示例链接。
你还能给它添加一个可选的标题属性:
这是一个[示例链接](http://example.com/ "且有个标题")。
输出:
这是一个
示例链接。
引用风格的链接允许你通过命名来指定链接,只要你在文档的其他地方定义好这个“名称”到“地址”的对应。
来自 [Google][1] 的访问足有来自 [Yahoo][2] 或 [MSN][3] 的 10
倍之多。
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
输出:
来自 Google
的访问足有来自
title="Yahoo Search">Yahoo 或
title="MSN Search">MSN 的 10 倍之多。
标题属性是可选的。链接的名字允许包含字母、数字与空格,但忽略大小写。
我的早晨始于一杯咖啡与一份[纽约时报][NY Times].
[ny times]: http://www.nytimes.com/
输出:
我的早晨始于一杯咖啡与一份
纽约时报。
图像
图像的语法与链接的语法很类似。
行内风格 (标题 (title) 是可选的):

引用风格:
![alt text][id]
[id]: /path/to/img.jpg "标题"
上面两个例子都会产生同样的输出:

代码
在段落中,反引号可以用来标识代码,在反引号包围中的 & 和尖括号 (< 或 >) 都会被自动的转换为 HTML 实体。这样一来,用 Markdown 写关于 HTML 的代码就会容易一些:
我强烈反对使用任何 <‘ blink ’> 标记。
我希望 SmartyPants 用 `—` 这样的命名实体来代替
`—` 这样的 10 进制编码的实体。
输出:
我强烈反对使用任何
<‘ blink ’> “标记。
我希望 SmartyPants 用 —
这样的命名实体来代替 — 这样的
10 进制编码的实体。
要指定一整块预先格式化好的代码,你必须把其中每行都用 4 个空格或者 1 个 tab 缩进。就像在行内的代码一样,&, < 和 > 字符都会被自动转换妥当。
Markdown:
倘若你希望你的页面通过 XHTML 1.0 Strict 的验证,
就必须在 blockquotes 中加入段落标记:
就像这样。
输出:
倘若你希望你的页面通过 XHTML 1.0 Strict 的验证,
就必须在 blockquotes 中加入段落标记:
<blockquote>
<p>就像这样。</p>
</blockquote>
