原文地址:LoveDev
Markdown:一种简单易学功能强大、任何文本编辑器都可以编写的标记语言。目前 github、Stackoverflow 等网站都支持这种格式。
标题
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:
This is an H1
=============
This is an H2
-------------
任何数量的 = 和 - 都可以有效果,要写在文章的最开头才会有效果。
类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:
# 这是 H1
## 这是 H2
###### 这是 H6
区块引用
引用别人文字的时候,这个格式就显得非常必要。Markdown 标记区块引用是使用类似 email 中用 > 的引用方式。
> 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.
Markdown 也允许你偷懒只在整个段落的第一行最前面加上 > :
> 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 the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
> ## 这是一个标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");
注:>
和文本之间要保留一个字符的空格。
列表
Markdown 支持有序列表和无序列表。
无序列表可以使用星号、加号或是减号作为列表标记:
* Red
* Green
* Blue
+ Red
+ Green
+ Blue
- Red
- Green
- Blue
注:上面的三种格式效果都相同,符号后面保留一个字符的空格。
有序列表则使用数字接着一个英文句点:
1. Bird
2. McHale
3. Parish
分割线
可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。
***
************
---
------------
链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式,不管是哪一种,链接文字都是用 [方括号] 来标记。
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字,要用隐式链接标记,只需要在链接文字后面加上一个空的方括号:
[Google][]
定义链接内容:
[Google]: http://google.com/
注:链接的定义可以放在文件中的任何一个地方,最好放到文件最后集中管理。
参考式链接的范例:
[Google] [1]
[Baidu] [2]
[LoveDev] [3]
[1]: http://google.com/ "Google Search"
[2]: http://baidu.com/ "Baidu Search"
[3]: http://lovedev.org/ "My Blog "
参考式的链接其实重点不在于它比较好写,而是它比较好读以及易于维护,文章内容不需要改变,只用改变标示对应的链接就可以了。
强调
Markdown 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 标签包围,用两个 * 或 _ 包起来的话,则会被转成 。
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
会转成:
single asterisks
single underscores
double asterisks
double underscores
注:唯一的限制是,用什么符号开启标签,就要用什么符号结束。
代码
如果要标记一小段行内代码,你可以用反引号把它包起来(`)。
Use the `printf()` function.
如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段:
``There is a literal backtick (`) here.``
图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
行内式的图片语法:
![](/path/to/img.jpg)
![](/path/to/img.jpg "Optional title")
详细叙述如下:
- 一个惊叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字。
参考式的图片语法:
![Alt text][id]
「id」是图片参考的名称,图片参考的定义方式和参考式链接一样:
[id]: url/to/image "Optional title attribute"
反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号。
\*literal asterisks\*
Markdown 支持以下符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。例如:
Markdown 会转为:
http://example.com/
邮址的自动链接也很类似,只是 Markdown 会先做一个编码转换的过程,把文字字符转成 16 进位码的 HTML 实体,这样的格式可以糊弄一些不好的邮址收集机器人,例如:
<[email protected]>
Markdown 会转成:
address@exa
mple.com