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 中输出 <
和 &
,需在键入 <
和 &
;而在 Markdown 中,只需键入 <
和 &
,即可自动转换,需注意的是,代码块内, <
和 &
会被转成 HTML 实体。
AT&T
4 < 5
AT&T
4 < 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] 已完成状态
- [ ] 未完成状态
- [ ] 未完成状态