什么是 Markdown
Markdown 是一种轻量级标记语言,它由 Aaron Swartz 和 John Gruber 共同设计。它允许人们「使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档」。
为什么要用 Markdown
- 干净的纯文本,简单易学,可读性强,让使用者可以更好地专注于文字创作本身。
- 跨平台;越来越多的网站支持 Markdown 语法,历史进程不可阻挡。
- 兼容 HTML 语法。
基础语法
标题
n 级标题,以 n 个 # 号开头,支持一到六级标题。(# 号与标题内容之间需要加空格)# 一级标题
## 二级标题
### 三级标题
###### 六级标题
实际效果:
一级标题
二级标题
三级标题
六级标题
水平分割线
连续三个或以上的中划线 -
或星号 *
或下划线 _
(当前后都有段落时,前后最好都空出一行)。---
实际效果:
换行
在行尾输入两个或以上的空格,然后回车。
引用块
右尖括号「>」+ 空格。根据排版渲染出来的实际效果,可以选择只在开头加一个或者每行前面都加一个。引用可以嵌套,根据嵌套层次加相应数量的符号即可。> 外层引用的第一行
外层引用的第二行
>> 内层嵌套引用的第一行
内层嵌套引用的第二行
>
> 外层引用的第三行。上面需要一个空行表示内层嵌套引用的结束,空行前面的「>」可有可无
实际效果:
外层引用的第一行
外层引用的第二行内层嵌套引用的第一行
内层嵌套引用的第二行外层引用的第三行。上面需要一个空行表示内层嵌套引用的结束,空行前面的「>」可有可无
强调
两侧各加上一个星号:*斜体* |
实际效果:
两侧各加上一个星号:斜体
两侧各加上两个星号:粗体
两侧各加上三个星号:粗斜体
两侧各加上一个反引号:高亮
两侧各加上两个波浪号:删除线
列表
有序列表
1. 有序列表 1(数字 + . + 空格) |
实际效果:
- 有序列表 1(数字 + . + 空格)
- 有序列表 2
- 有序列表 3(数字不对也没关系,渲染时会自动变成正确的序号)
无序列表
- 无序列表 1(中划线 + 空格) |
实际效果:
- 无序列表 1(中划线 + 空格)
- 嵌套无序列表 1(一个缩进)
- 嵌套无序列表 2(两个缩进)
- 嵌套无序列表 1(一个缩进)
- 无序列表 2(加号 + 空格)
- 无序列表 3(星号 + 空格)
链接
行内式链接(推荐!易读,一眼就能看穿要跳到的链接地址):[Inline-style link](https://github.com/) |
实际效果:
行内式链接(推荐!易读,一眼就能看穿要跳到的链接地址):Inline-style link
参考式链接 1:Reference-style link 1
参考式链接 2:Reference-style link 2
图片
和链接相似,在链接的基础上,前方加一个感叹号 !
即可:
。
实际效果:
进阶语法
表格
| name | age | hobby | |
实际效果:
name | age | hobby |
---|---|---|
:— 表示左对齐 | —: 表示右对齐 | :—: 表示居中 |
Li lei | 4 | sports |
Han Meimei | 55 | music |
Jack Ma | 666 | money |
代码块高亮
开始和结束各使用三个反引号 ``` 包裹一段代码,并在开始的三个反引号 ``` 后指定一种语言(不同平台的代码高亮样式会有所不同)。
```Go
package mainimport “fmt”
func main() {
fmt.Println(“Hello, World!”)
}
`````` javascript(部分平台可能需要先加一个空格再指定语言)
var s = “JavaScript”;
console.log(s);
```
实际效果:package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
var s = "JavaScript"; |
复选框
可用来实现 Todo List 功能。- [x] 已完成事项 1
- [x] 已完成事项 2
- [ ] 待办事项 1
- [ ] 待办事项 2
- [ ] 待办事项 3
实际效果:
- 已完成事项 1
- 已完成事项 2
- 待办事项 1
- 待办事项 2
- 待办事项 3
转义符
反斜杠 \
。当在文档中需要使用到 Markdown 的符号(比如 - # *
),不想它被转义,则在符号前加上反斜杠即可。\*\*不想加粗\*\*
实际效果:
**不想加粗**
特殊语法
以下特殊语法考虑到不同平台的支持限制,故只说明语法,不再展示效果(实际效果可以在支持该语法的平台中测试)。
脚注
脚注[^keyword] |
LaTeX 公式
行内公式:$E=mc^2$ |
流程图
```flow
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>endst->op->cond
cond(yes)->e
cond(no)->op
```
更详细的流程图语法。
时序图
```sequence
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob–>Alice: I am good thanks!
```
更详细的时序图语法。
Tips
- 各个平台对 Markdown 个别语法的支持可能会有其局限性(比如 LaTeX 公式),但基础语法都是通用的。
- 不同平台实际渲染出来的效果会有细节上的差异,请根据实际情况稍作调整。
- 调整样式的三大独门技巧:
- 空格
- 缩进
- 换行
工具
- Web 端:Cmd Markdown 和马克飞象
- 跨平台客户端:Typora
- Web 插件:Markdown Here
- GitHub Issues 的输入框!