0%

MarkDown 语法

Markdown 是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与 HTML 混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown 被大量使用,如 Github、Wikipedia、简书等

基础语法

标题

不同数量的 # 可以完成不同的标题,如下:

1
2
3
4
5
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题

依此类推

字体

粗体、斜体、粗体和斜体,删除线,需要在文字前后加不同的标记符号。如下:

1
2
3
4
*这个是斜体*
**这个是粗体**
***这个是粗体加斜体***
~~这里想用删除线~

这个是斜体
这个是粗体
这个是粗体加斜体
这里想用删除线

字体 对应标记符号
斜体 *
粗体 **
斜体加粗 ***
删除线 ~~

:如果想给字体换颜色、字体或者居中显示,需要使用内嵌 HTML 来实现。

列表

无序列表

无序列表的使用,在符号 - 后加空格使用。如下:

1
2
3
4
5
- 无序列表 1
- 无序列表 2
- 无序列表 2.1
- 无序列表 2.2
- 无序列表 3
  • 无序列表 1
  • 无序列表 2
    • 无序列表 2.1
    • 无序列表 2.2
  • 无序列表 3

有序列表

有序列表的使用,在数字及符号 . 后加空格后输入内容,如下:

1
2
3
4
1. 有序列表 1
1.1 有序列表 1.1
2. 有序列表 2
3. 有序列表 3
  1. 有序列表 1
    1.1 有序列表 1.1
  2. 有序列表 2
  3. 有序列表 3

引用

引用的格式是在符号 > 后面书写文字。如下:

1
> 读一本好书,就是在和高尚的人谈话。 —— 歌德

读一本好书,就是在和高尚的人谈话。 —— 歌德

雇用制度对工人不利,但工人根本无力摆脱这个制度。 —— 阮一峰

链接

1
[<链接文字>](<链接地址>)

点我去百度

图片

插入图片,格式如下:

1
![<图片说明>](<图片地址>)

这里是图片说明

支持 jpgpnggifsvg 等图片格式,其中 svg 文件仅可在微信公众平台中使用

分割线

可以在一行中用三个以上的减号来建立一个分隔线,同时需要在分隔线的上面空一行。如下:

1
---

这里有个分割线 👇


这里有个分割线 👆

表格

可以使用冒号 (:) 来定义表格的对齐方式,如下:

1
2
3
4
5
6
| 姓名   | 年龄 |     工作 |
| :----- | :--: | -------: |
| 左对齐 | 居中 | 右对齐 |
| 小可爱 | 18 | 吃可爱多 |
| 小小勇敢 | 20 | 爬棵勇敢树 |
| 小小小机智 | 22 | 看一本机智书 |
姓名 年龄 工作
左对齐 居中 右对齐
小可爱 18 吃可爱多
小小勇敢 20 爬棵勇敢树
小小小机智 22 看一本机智书

特殊语法

脚注

1
2
3
4
使用 Markdown [^1] 可以效率的书写文档,直接转换成 HTML [^2], 你可以使用 Typora[^T] 编辑器进行书写。
[^1]:Markdown是一种纯文本标记语言
[^2]:Hyper Text Markup Language超文本标记语言
[^T]:NEW WAY TO READ & WRITE MARKDOWN.

注:脚注自动被搬运到最后面,请到文章末尾查看,并且脚注后方的链接可以直接跳转回到加注的地方

代码块

如果在一个行内需要引用代码,只要用反引号引起来就好,如下:

1
Use the `printf()` function.

Use the printf() function.

在需要高亮的代码块的前一行及后一行使用三个反引号,同时第一行反引号后面表示代码块所使用的语言,如下:

1
2
3
4
5
6
7
8
9
``` java
// FileName: HelloWorld.java
public class HelloWorld {
// Java 入口程序,程序从此入口
public static void main(String[] args) {
System.out.println("Hello,World!"); // 向控制台打印一条语句
}
}
``` end(这个 end 用于阻止 markdown 判定,实际使用不需要)
1
2
3
4
5
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,World!"); // 向控制台打印一条语句
}
}

支持且不限于以下语言种类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bash
clojure,cpp,cs,css
dart,dockerfile, diff
erlang
go,gradle,groovy
haskell
java,javascript,json,julia
kotlin
lisp,lua
makefile,markdown,matlab
objectivec
perl,php,python
r,ruby,rust
scala,shell,sql,swift
tex,typescript
verilog,vhdl
xml
yaml

diff 不能同时和其他语言的高亮同时显示,且需要调整代码主题为微信代码主题以外的代码主题才能看到 diff 效果,使用效果如下:

1
2
+ 新增项
- 删除项

数学公式

块公式使用方法如下:

1
$$ H(D_2) = -\left(\frac{2}{4}\log_2 \frac{2}{4} + \frac{2}{4}\log_2 \frac{2}{4}\right) = 1 $$

矩阵:

1
2
3
4
5
6
7
8
$$
\begin{pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \\
1 & a_2 & a_2^2 & \cdots & a_2^n \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & a_m & a_m^2 & \cdots & a_m^n \\
\end{pmatrix}
$$

大括号

普通左括号

左边大括号,且括号内的内容显示为左对齐

效果示例

语法示例

1
2
3
4
5
6
7
8
9
$$
大括号示例
\begin{cases}
内容 1 \\
内容展示 2 \\
内容 3 \\
内容展示 4
\end{cases}
$$
普通右括号

右边大括号,且括号内的内容显示为右对齐

效果示例

语法示例

1
2
3
4
5
6
7
8
9
10
11
$$
\left.
\begin{aligned}
内容 1 \\
内容展示 2 \\
内容 3 \\
内容展示 4
\end{aligned}
\right\}
大括号示例
$$
左右括号

左右括号都显示

效果示例

语法示例

1
2
3
4
5
6
7
8
9
10
11
$$
大括号示例
\left\{
\begin{aligned}
内容 1 \\
内容展示 2 \\
内容 3 \\
内容展示 4
\end{aligned}
\right\}
$$
括号内为多列内容

当括号内需要包含多列内容时,可以使用 & 讲内容隔开

效果示例

语法示例

1
2
3
4
5
6
7
8
9
$$
大括号示例
\begin{cases}
内容 1 & 描述 \\
内容展示 2 & 描述 \\
内容 3 & 描述 \\
内容展示 4 & 描述
\end{cases}
$$

上下标

上标显示

公式中经常需要显示上标,这里用 <^> 符号显示上标

效果示例

$普通内容^{上标内容}$

$a^b$

语法示例

1
$a^b$

比如,上标内容是多个的

$a^{b+c}$

1
2
// 使用{}将多个内容进行组合,合并为一个上标。
$a^{b+c}$
下标显示

公式中经常需要显示下标,这里用 <_> 符号显示下标

效果示例

$普通内容_{下标内容}$

$a_b$

语法示例

1
$a_b$

比如,下标内容是多个的

$a_{b+c}$

1
2
// 使用{}将多个内容进行组合,合并为一个下标。
$a_{b+c}$

如果公式量过大,在 Chrome 下会存在粘贴后无响应,但是在 Firefox 中始终能够成功

HTML

支持原生 HTML 语法(请写内联样式),如下:

1
2
<span style="display:block;text-align:right;color:orangered;">橙色居右</span>
<span style="display:block;text-align:center;color:orangered;">橙色居中</span>

橙色居右
橙色居中

参考 MarkDown 官方文档

欢迎关注我的其它发布渠道