Markdown 语法

块级元素

段落和换行

段落:由一个或多个连续的文本行组成,前后要有一个以上的空行(显示上看似空行,便被视为空行。 如:某行只包含空格或制表符,会被视为空行),普通段落不该用空格或制表符来缩进。

换行(<br>):在插入处先键入两个以上的空格,然后回车(Typora 的预览模式下是 Shift + Enter)。

这是一个  
断行示例文本

标题

1~6 级标题

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

成段引文 Blockquotes

只需在引文每行的最前面加上 >

> 夜里我头枕卷册和神州

多段引用:

> “你身上有些东西,比天上的月亮更圆更白。”
> 
> “你身上的月饼,自然是甜过了蜜糖。”

嵌套引文:

> 在那小酒店中,当她除了面具外慢慢脱光在李寻欢面前时,她说:
> > “你何必一定要看我的脸,这样子,岂非反而能增加几分幻想,几分情趣。”

引文内亦可使用其他的 Markdown 语法,包括标题、列表、代码区块等:

> ## 这是一个标题。
> 
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
> 
> 给出一些例子代码:
> 
>     return shell_exec("echo $input | $markdown_script");

列表

无序列表和有序列表,都可以缩进创建嵌套列表。

无序列表,使用星号、加号或减号作为标记,效果一致:

* 红
* 绿
* 蓝

* 红
* 绿
* 蓝

- 红
- 绿
- 蓝

有序列表,使用数字接着一个英文句点 :

1. 第一项
2. 第二项
3. 第三项

1. 第一项
2. 第二项
    1. 缩进项
    2. 缩进项
3. 第三项

在列表中可加段落、引用、代码块、图片等元素:

- 第一项

    第一项中的段落

- 第二项
- 第一项

    > 第一项中的引用

- 第二项
- 第一项

        print('Hello World!')  # 第一项中的代码

- 第二项
- 第一项

    ![第一项中的图片](/assets/images/tux.png)

- 第二项

代码块

每一行缩进至少四个空格或一个制表符,因为转换后第一个缩进(4 个空格或 1 个制表符)会被移除。

    <html>
      <head>
      </head>
    </html>

转换效果:

<html>
  <head>
  </head>
</html>

分隔线

在单独一行上使用三个以上的星号(*),减号(-)或下划线_):

***
* * *
- - -
---------------------------------------

行内元素

链接

行内链接:

[an example](http://example.com "Title")
[an example](http://example.com)

站内可用相对路径
查看 [关于](/about/) 页面了解详情

参考链接:

链接的定义可以放在文件中的任何一个地方。

这是一个[参考链接][1]。
这是一个[参考链接][2]。
这是一个[参考链接][foo]。

[1]: http://example.com  "Title 可选"
[2]: <http://example.com>  'Title 可选'
[foo]: http://example.com  (Title 可选)
链接定义的方式为:
[标识]+:+至少一个空格或制表符+地址,可用尖括号包裹+可选标题,可用双引号、单引号或括号包裹

[Google][]
[Google]: http://google.com/
链接标记为空时,视为等同于链接文字

强调

使用星号(*)和下划线(_)来标记需强调的字词。用单个标记包裹,会转成<em>;两个标记包裹,会转成<strong>

*强调文字*
_强调文字_
**强调文字**
__强调文字__

如果 *_ 两边都有空白,会被当成普通符号。

代码

行内代码,只需用反引号(`)包裹。

使用 `printf()` 方法。

要在代码区段内插入反引号,可用多个反引号来包裹。

``这是一个反引号 (`)。``

也可在前后标记各加一个空白来输出:
这是一个在代码区段的反引号:`` ` ``
这是一个在代码区段的反引号: `` `foo` ``

图片

有行内式和参考式两种,类似链接。

行内式:

![alt 文字](/path/to/img.jpg)
![alt 文字](/path/to/img.jpg "可选 title 属性")

参考式:

![alt 文字][id]

[id]: url/to/image "可选 title 属性"

其他

自动链接

以尖括号包裹网址或邮箱,会自动转为链接。

<http://example.com/>
<address@example.com>

转义符

可用反斜杠来输出一些在语法中有其它意义的符号。

\   反斜杠
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
()  括号
#   井号
+   加号
-   减号
.   点号
!   感叹号

特殊字符

在 HTML 中输出 <&,需在键入 &lt;&amp;;而在 Markdown 中,只需键入 <&,即可自动转换,需注意的是,代码块内, <& 会被转成 HTML 实体。

AT&T
4 < 5

AT&amp;T
4 &lt; 5

扩展语法(为一些处理器所支持)

表格

| Syntax      | Description |
| ----------- | ----------- |
| Header      | Title       |
| Paragraph   | Text        |

对齐方式有左对齐、右对齐、居中对齐:

| Syntax      | Description | Test Text     |
| :---        |    :----:   |          ---: |
| Header      | Title       | Here's this   |
| Paragraph   | Text        | And more      |

代码块

用(`)代替缩进,还可支持高亮。

​```
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
​```

​```json
{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}
​```

脚注

[^1] 来表示脚注。

这是一个简单的脚注[^1],是一个较长的脚注[^2]。

[^1]: 第一个脚注的描述内容
[^2]: 第二个较长脚注的内容    

标题编号

在标题后面以花括号包裹 {#id}

## 这是一个标题 {#custom-id}

转换效果:

<h2 id="custom-id">这是一个标题</h2>

删除号

前后以两个波浪线(~)包裹。

这是一个~~错误~~正确的决定。

任务列表

形式为,减号、空格、方括号包裹空格、空格、描述语句,完成选中状态只需把方括号中的空格替换为 x:

- [x] 已完成状态
- [ ] 未完成状态
- [ ] 未完成状态