Markdown 语法
Markdown 简介
Markdown 是一种纯文本格式的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作,提高效率。
语法讲解
标题
在想要设置为标题的文字前面加 # 来表示,# 和文字之间需要空格隔开。
一个 # 是一级标题,二个 # 是二级标题,以此类推。最多支持六级标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
注意:符号与内容之间有空格。
效果如下:
字体
要加粗的文字左右分别用两个 * 号包起来,要倾斜的文字左右分别用一个 * 号包起来,要倾斜和加粗的文字左右分别用三个 * 号包起来,要加删除线的文字左右分别用两个 ~ 号包起来。
**这是加粗的字体**
*这是倾斜的字体*
***这是加粗+倾斜的字体***
~~这是加了删除线的字体~~
注意:符号与内容之间无空格。
效果如下:
这是加粗的字体
这是倾斜的字体
这是加粗+倾斜的字体
这是加了删除线的字体
分割线
三个或者三个以上的 - 或者 * 都可以。
---
----
***
*****
效果如下:
引用
在引用的文字前加>即可。引用也可以嵌套,如加两个»三个»>,直到 n 个,可以无限加下去。
>这是引用的内容 1
>>这是引用的内容 2
>>>>这是引用的内容 3
注意:符号与内容之间无空格。
效果如下:
这是引用的内容 1
这是引用的内容 2
这是引用的内容 3
图片
格式:
![图片 alt](图片地址 ''图片 title '')
说明:
图片 alt 就是显示在图片下面的文字,相当于对图片内容的解释。
图片 title 是图片的标题,当鼠标移到图片上时显示的内容。title 可加可不加。
图片地址与图片标题之间有个空格,前者不加双引号,后者要加双引号。
举例:
![最小生成树](/imgs/prim/最小生成树.png "原始连通图")
效果如下:
超链接
格式:
[超链接名](链接地址 ''链接 title '')
说明:
链接 title 是超链接的标题,当鼠标移到超链接上时显示的内容。title 可加可不加。
链接地址与链接标题之间有个空格,前者不加双引号,后者要加双引号。
举例:
[访问百度](https://www.baidu.com "跳转百度主页")
效果如下:
列表
无序列表
无序列表用 - + * 任何一种都可以。
- 无序列表 1
+ 无序列表 2
* 无序列表 3
注意:符号与内容之间要有空格,列表之间不空行。
效果如下:
- 无序列表 1
- 无序列表 2
- 无序列表 3
有序列表
有序列表用数字加点表示。
1. 有序列表 1
2. 有序列表 2
3. 有序列表 3
注意:点号与内容之间要有空格,列表之间不空行。
效果如下:
有序列表 1
有序列表 2
有序列表 3
列表嵌套
上一级和下一级之间敲三个空格即可。
效果如下:
上一级无序列表
- 下一级有序列表 1
- 下一级有序列表 2
上一级无序列表
- 下一级无序列表 1
- 下一级无序列表 2
上一级有序列表
- 下一级无序列表 1
- 下一级无序列表 2
上一级有序列表
- 下一级有序列表 1
- 下一级有序列表 2
表格
| 左对齐 | 居中 | 右对齐 |
| :--- | :---: | ---: |
| 内容 | 内容 | 内容 |
| 内容 | 内容 | 内容 |
注:
第二行分割表头和内容。
- 有一个就行,为了对齐,可以多加几个
- 左边加 :表示文字居左
- 两边加 :表示文字居中
- 右边加 :表示文字居右
- 两边都不加 : 使用默认格式,文字默认居左
效果如下:
左对齐 | 居中 | 右对齐 |
---|---|---|
内容1 | 内容2 | 内容3 |
内容3 | 内容4 | 内容5 |
代码
单行代码
单行代码用两个 ` 包括着即可。
`int a = 2;`
效果如下:
int a = 2;
多行代码
多行代码用六个 ` 包括着即可,开头的三个符号后还可以指定编程语言的类型,多行代码又叫代码块。
'```java
public class A {
public static main(String[] args) {
System.out.println("Hello world!");
}
}
```'
效果如下:
public class A {
public static main(String[] args) {
System.out.println("Hello world!");
}
}
Markdown 代码块中支持的常用高亮语言类型如下:
语言 | Markdown 关键字 |
---|---|
Bash | bash |
CMake | cmake |
C++ | cpp |
C# | cs |
CSS | asciidoc |
DOS.bat | dos |
Dust | dust |
ERB(Embedded Ruby) | erb |
G-code(ISO 6983) | gcode |
Go | bash |
Gradle | gradle |
Groovy | groovy |
HTML | html |
HTTP | http |
Ini file | ini |
Java | java |
JavaScript | javascript |
JSON | json |
Makefile | makefile |
Mathematica | mathematica |
Matlab | matlab |
Objective C | objectivec |
PHP | php |
Protocol Buffers | protobuf |
Python | python |
Q | q |
R | r |
Ruby | ruby |
Rust | rust |
Scheme | scheme |
SQL | sql |
Swift | swift |
text | text/plain |
TypeScript | typescript |
Vim Script | vim |
XML | xml |
YAML | yml |
HTML 标签
Markdown 是支持 HTML 标签的,因为 Markdown 标记语言的内容最终会被解析陈伟 HTML 标签,供浏览器显示。此处举几个用的较多的标签:
页内跳转
页内跳转可以实现从本页的 a 处跳转到 b 处。其采用 HTML 中的 a 标签,分两部分定义,下面通过个例子演示。
例子:在 a 处显示一个超链接样式,点击可以跳转到 b 处。
- 在 b 处设置一个锚点(定位点),使用样式
<a name="b">定位点</a>
。 - 在 a 处设置跳转目标,跳转至 b 处,使用样式
<a href="#b">点击跳转</a>
。 - 点击 a 处即可跳转到 b 处,点击浏览器的回退按钮,即可返回到 a 处。
- 在 b 处设置一个锚点(定位点),使用样式
效果如下:
上下标
上标:采用 <sup></sup>
标签。
下标:采用 <sub></sub>
标签。
H<sub>2</sub>O
2<sup>4</sup> = 16
效果如下:
H2O
24 = 16
更多的标签可以自行查找资料,如果担心过多的 HTML 代码会出现解析错误,可以使用 [html][/html]
包裹着 HTML 的源码。