Markdown: 基础

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. 小松鼠

输出:

  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](/path/to/img.jpg "标题")

引用风格:

![alt text][id]
[id]: /path/to/img.jpg "标题"

上面两个例子都会产生同样的输出:

alt text

代码

在段落中,反引号可以用来标识代码,在反引号包围中的 & 和尖括号 (< 或 >) 都会被自动的转换为 HTML 实体。这样一来,用 Markdown 写关于 HTML 的代码就会容易一些:

我强烈反对使用任何 <‘ blink ’> 标记。
我希望 SmartyPants 用 `—` 这样的命名实体来代替
`—` 这样的 10 进制编码的实体。

输出:

我强烈反对使用任何
<‘ blink ’> “标记。

我希望 SmartyPants 用 &mdash;
这样的命名实体来代替 &#8212; 这样的
10 进制编码的实体。

要指定一整块预先格式化好的代码,你必须把其中每行都用 4 个空格或者 1 个 tab 缩进。就像在行内的代码一样,&, < 和 > 字符都会被自动转换妥当。

Markdown:

倘若你希望你的页面通过 XHTML 1.0 Strict 的验证,
就必须在 blockquotes 中加入段落标记:

就像这样。

输出:

倘若你希望你的页面通过 XHTML 1.0 Strict 的验证,
就必须在 blockquotes 中加入段落标记:

<blockquote>
<p>就像这样。</p>
</blockquote>