Markdown基本语法
标题
Markdown语法的标志可以使用#表示,共支持6级标题
1 | # 一级标题 |
为了美观,也可以采用下面这种对称形式
1 | # 一级标题 # |
列表
无序列表 使用星号(*)、加号(+)或是减号(-)作为列表标记,三种标记符产生的效果完全相同,比如:
1 | * Red |
上述文字产生的列表如下:
- Red
- Blue
- Green
有序列表 则使用一个数字+英文句点进行表示,如下:
1 | 1. Red |
很重要的一点是,列表标记上使用的数字并不会影响输出的结果。上述问题显示效果如下:
- Red
- Blue
- Green
- Black
代码段
Markdown的代码块使用反向单引号 ` 来标记。如果代码只有一行,可以使用单个 ` 包起来,比如 ` int a = b + c ; `,显示效果为:int a = b + c;
对于多行代码,需要使用 ``` 进行包裹,如下:
int a = 1;
a += 1;
```
上述文字的显示效果如下:
1 | int a = 1; |
另外,代码段也可以使用4个空格开头进行表示。
为代码高亮指定编程语言,可以在```后面加上编程语言来, ``` cpp
void main(int argc, char* argv[]) {
// do something
}
```
上述代码展示效果如下:
1 | void main(int argc, char* argv[]) { |
参考链接:GitHub: Syntax highlighting
文字格式
*斜体*,**粗体**,***粗斜体***,~~删除线~~
上述文字的显示效果:斜体,粗体,**粗斜体**,删除线。需要注意,符号标记和文字之间不能有空格。
文字上标和下标:<sub>下标文字</sub> <sup>上标文字</sup>
。效果:这是下标文字 ,这是 上标文字。
字体大小可以使用html的语法标签:
1 | <big>大号字体</big> |
字体大小效果:这是大号字体,这是小号字体
字体颜色可以使用html的font标签:
1 | <font color="red">This is some text!</font> |
字体颜色效果:红色文字。
链接
链接的格式为:[ text ](http://example.com “title”) 。
1 | 这是一个 [我的主页](https://www.jianshu.com/u/ee2923f61e8d "主页") 链接示例。 |
显示效果:这是一个 我的主页 链接示例。
如果想创建一个本文中章节的链接,需要使用下面格式:
1 | [本文章节](#章节标题) |
备注:如果使用vscode编辑markdown,在输入#时会有章节标题的提示,选择即可。
图片
图片的格式为: ![Alt text](/path/to/img.jpg “Optional title”) 。
详细叙述如下:
- 一个惊叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 ‘title’ 文字。
分割线
可以在一行中用三个及以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。下面每种写法都可以建立分隔线 *** ,--- ,___ 。
引用
引用使用 > 进行标识。在引用文字结束时,和后面文字间隔一个空行即可结束引用。在引用区块中也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。
1 | > 这是一段引用文字。 |
显示效果如下:
这是一段引用文字。
引用文字的第二句,呵呵呵!
引用也支持嵌套,只需要根据需要加上不同数量的 > 即可。
表格
表格实例如下。注意其中的冒号 : ,可以用于实现居中、左对齐、右对齐的效果。
1 | | name | city | deposit | |
显示效果如下:
name | city | deposit |
---|---|---|
Abbi | Shanghai | $1600 |
Gabriel | Guangzhou | $12 |
Jason | Beijing | $1 |
注意,表格前面要有一个空行。
特殊字符
反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有特殊意义的符号,也就是把特殊符号显示为普通符号。
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
1 | \ 反斜线 |
使用Unicode编码
如果需要在Markdown文档中使用Markdown的保留字符,比如 | ` [ ] 等具有特殊意义的字符时,就需要进行转义,否则文章的展示就会有问题。一般情况可以使用加反斜杠 \ 来进行转义。但是反斜杠并不是所有情况都好使,最彻底的方式就是使用Unicode编码来解决。
原字符 | Unicode编码 |
---|---|
| | | |
` | ` |
[ | [ |
] | ] |
# | # |
另外,如果期望输入额外的空格可以使用 
。
=> Unicode在线转码
禁止超链接
如果一个url格式的字符串不想展示为超链接的格式,有两种方式可以做到:
- 使用反引号包裹,比如 `www.baidu.com` , 展示效果为
www.baidu.com
- 通过

(Zero Width No-Break Space)Unicode编码来把超链接打断,比如http://www.baidu.com
,展示效果为 http://www.baidu.com
表情符号
插入表情符号的方式有两种:
- 通过复制粘贴的方式插入,比如从Emojipedia网站复制粘贴过来。
- 插入表情符号的代码,https://gist.github.com/rxaviers/7360908这个网站收录的几乎所有的表情符号代码。通过代码的方式插入的表情符号在不同的应用软件上展示效果会有些差异。
数学公式
数学符号使用美元符来包裹,比如$2^n$
,显示效果是$2^n$。如果数学表达式中包含markdown的保留字符,则需要使用 $`数学公式`$ 的样式。
参考文章:Writing mathematical expressions、MarkDown数学公式
符号
Markdown可以支持所有的HTML的符号,参考HTML Symbols。
代码 | 样式 | 备注 |
---|---|---|
↑ |
↑ | |
↓ |
↓ | |
← |
← | |
→ |
→ | |
↔ |
↔ | Double headed arrow |
任务列表
使用* [ ]
或者- [ ]
两种格式都可以,推荐使用前者:
1 | * [ ] 未完成任务一 |
显示效果如下:
- 未完成任务一
- 未完成任务二
- 已完成任务