# Markdown 基本语法
## 段落
非常自然,一行文字就是一个段落。
比如
```
这是一个段落。
```
会被解释成
```
<p>这是一个段落。</p>
```
如果你需要另起一段,请在两个段落之间隔一个空行。
```
这是一个段落。
这是另一个段落。
```
会解释成
```
<p>这是一个段落<p>
<p>这是另一个段落</p>
```
不隔一个空行的换行行为,在一些编辑器中被解释为换行,即插入一个`<br />`标签。对与另外一些编辑器,会被解释为插入一个空格。对于后者,若要插入换行标签,请在当前一行的结尾打两个空格。
## 粗体、斜体
可以使用星号`*`或下划线`_`指定粗体或者斜体。
```
*这是斜体*
_这也是斜体_
**这是粗体**
***这是粗体+斜体***
```
会被解释成
```
<em>这是斜体</em>
<em>这也是斜体</em>
<strong>这是粗体</strong>
<strong><em>这是粗体+斜体</strong></em>
```
## 删除线
一部分编辑器支持删除线,它不是经典markdown中的要素。用波浪线`~`定义删除线。
```
~~就像这样~~
```
会被解释成
```
<strike>就像这样</strike>
```
## 标题
markdown总支持1~6六级标题,通过在一行之前加上不同数量的井号来表示。
```
# 这是 H1 #
## 这是 H2 ##
### 这是 H3 ###
...
###### 这是 H6 ######
```
行尾可以加上任意数量的井号字符,这些字符不会算作标题内容。通常会加上相等数量的字符以保持对称。
此外,H1和H2也可以采用在文本下方添加底线来实现,比如:
```
这是 H1
=======
这是 H2
-------
```
## 引用
通过在行首加上大于号`>`来添加引用格式。
```
> 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.
```
也可以嵌套其他格式:
```
> ## 这是一个标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");
```
## 列表
无序列表使用星号、加号或是减号作为列表标记:
```
* Red
* Green
* Blue
```
等同于
```
+ Red
+ Green
+ Blue
```
和
```
- Red
- Green
- Blue
```
有序列表则使用数字接着一个英文句点:
```
1. Bird
2. McHale
3. Parish
```
数字并不会影响输出的 HTML 结果,也就是说上面的例子等同于:
```
1. Bird
1. McHale
1. Parish
```
## 内联代码
用反引号`` ` ``来标记内联代码,它们会解释成`<code>`标签。如果代码的内容中有反引号,请用两个反引号包裹。代码中的`&`、`<`、`>`符号都会自动转义,请放心使用。
## 代码区域
有两种方式标记代码区域,原生风格是行首缩进死个空格。
```
这是一个普通段落:
这是一个代码区块。
```
会被解释成
```
<p>这是一个普通段落:</p>
<pre><code>这是一个代码区块。
</code></pre>
```
除了行首的4个空格会被移出,其它不变。像内联代码一样,上述三种符号也会被转义。但在代码段中,星号之类的markdown标记符号则不会解析。
还有一种是github的风格,代码段的前后用三个反引号独占一行来标记。
![](https://box.kancloud.cn/2015-12-23_567aa6123fc7f.png)
目前主流编辑器都支持这种风格。
## 分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
```
* * *
***
*****
- - -
---------------------------------------
```
## 链接
```
[an example](http://example.com/)
[an example](http://example.com/ "Optional Title")
```
会被解释为
```
<a href='http://example.com/'>an example</a>
<a href='http://example.com/' title="Optional Title">an example</a>
```
除了上面的行内式,也可以使用参考式:
```
[an example][id]
```
然后在任意空白位置定义:
```
[id]: http://example.com/ "Optional Title"
```
## 图像
```
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional Title")
```
会被解释为
```
<img src='/path/to/img.jpg' alt='Alt text' />
<img src='/path/to/img.jpg' alt='Alt text' title='Optional Title' />
```
同样,图像也有类似的参考式语法。
## 自动链接
如果链接的地址和名字重复,可以用尖括号语法将其简化。
```
<http://example.com/>
```
就相当于
```
[http://example.com/](http://example.com/)
```
切记,大多数编辑器都会自动将符合url规则的东西视为链接,并且解释成链接。很多时候作者由于疏忽等缘故,链接和后面的中文之间缺少空格,导致链接不正常。所以我建议,链接要么加上尖括号,要么两端加上空格。
## 转义
markdown支持在以下字符前面插入反斜杠
```
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
```
插入之后,将不再解析这些字符,而是原样输出。
## 表格
表格是github风格独有的语法,但近年来渐渐被大多数编辑器支持。
```
| Item | Value | Qty |
| :------- | ----: | :---: |
| Computer | $1600 | 5 |
| Phone | $12 | 12 |
| Pipe | $1 | 234 |
```
会被解释成
```
<table>
<thead>
<tr>
<th align="left">Item</th>
<th align="right">Value</th>
<th align="center">Qty</th>
</tr>
</thead>
<tbody><tr>
<td align="left">Computer</td>
<td align="right">$1600</td>
<td align="center">5</td>
</tr>
<tr>
<td align="left">Phone</td>
<td align="right">$12</td>
<td align="center">12</td>
</tr>
<tr>
<td align="left">Pipe</td>
<td align="right">$1</td>
<td align="center">234</td>
</tr>
</tbody></table>
```
要注意第二行的冒号决定了居左居右还是居中,如果你不加冒号,默认是居左的。
另外可以把第一行去掉,做成没有表头的表格,但第二行始终是要有的。
## 内联 HTML
markdown 的语法简洁,但有其局限性,所以特意保留了内联html这种方式。任何html标签及其内容,都会原样输出到结果中。也就是说,标签中的星号等作为markdown结构的符号,以及构成html标签和实体的符号,都不会做任何转义。
- Markdown 简介
- Markdown 编辑器推荐
- Markdown 基本语法
- Markdown 高级语法
- Markdown + Gitbook
- Markdown + R
- Markdown + Pandoc
- 用Markdown写博客:Hexo + Gitcafe
- Hexo 入门指南(一) - 简介 & 准备
- Hexo 入门指南(二) - 安装、初始化和配置
- Hexo 入门指南(三) - 文章 & 草稿
- Hexo 入门指南(四) - 页面、导航、边栏、底栏
- Hexo 入门指南(五) - 搬家 & 备份
- Hexo 入门指南(六) - sitemap、rss 和部署
- Hexo 入门指南(七) - 评论 & 分享