Markdown 是一种轻量级标记语言,它的设计初衷是为了让人们能够更加方便地编写格式化文本,同时又不需要像 HTML 那样使用复杂的标签和属性。它使用简单的符号标记不同的标题,引用、列表、代码块等,然后通过转换器转换成 HTML 文档,或者转换成其他格式的文档。

Markdown标题

使用#表示,#的数量表示标题的级别,例如# 表示一级标题, 表示二级标题,以此类推。一般来说,我们只会使用到六级标题,因为六级标题以下的标题在网页中显示的字体都是一样的,没有区别。

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

显示效果:

一级标题
二级标题
三级标题
四级标题
五级标题
六级标题

注意:#和标题之间要有空格

Markdown段落

直接输入文本即可,段落之间使用空行分隔。

字体

Markdown 可以使用以下几种字体:

  • 用1个星号*或底线_表示斜体
  • 用2个星号*或底线_表示粗体
  • 用3个星号*或底线_表示粗斜体

语法格式:

*斜体*
_斜体_

**粗体**
__粗体__

***粗斜体***
___粗斜体___

显示效果:

斜体

粗体

粗斜体


分隔线

可以在一行中用三个以上的星号*、减号-、底线_来建立一个分隔线,行内不能有其他东西,你也可以在星号或减号蹭插入空格。下面这种写法都可以建立分隔线:

***
* * *
******
- - -
------

显示效果:


注意:分隔线的显示效果取决于主题样式,本博客有美化过,否则就显示的是一条线


删除线

如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线~~即可。

~~删除线~~

显示效果:

删除线


下划线

下划线可以通过HTML的标签来实现

<u>带下划线文本</u>

显示效果:

带下划线文本


脚注

脚注是对文本的补充说明。

带脚注的文本[^脚注]
[^脚注]: 这是一个脚注

显示效果:

带脚注的文本[^脚注]

Markdown 列表

使用*或-表示无序列表,使用数字和.表示有序列表。

无序列表

无序列表使用星号(*)、加号(+)或者减号(-)作为标记

- 无序列表1
- 无序列表2
- 无序列表3

显示效果:

  • 无序列表1
  • 无序列表2
  • 无序列表3

有序列表

有序列表直接在文字有加上1. 2. 3. 来表示,符号和文字之间加上一个空格字符

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

显示效果:

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

列表嵌套

列表嵌套只需在子列表的选项前添加四个空格即可

- 无序列表1
- 无序列表1.1
- 无序列表1.2
- 无序列表2
1. 有序列表2.1
2. 有序列表2.2

显示效果:

  • 无序列表1
    • 无序列表1.1
    • 无序列表1.2
  • 无序列表2
    1. 有序列表2.1
    2. 有序列表2.2

Markdown区块

Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号

> 区块引用

显示效果:

区块引用
Markdown教程

另外区块是可以嵌套的,一个>符号是最外层,两个符号是第一层嵌套,以此类推

> 最外层
> > 第一层嵌套
> > > 第二层嵌套

显示效果:

最外层

第一层嵌套

第二层嵌套

区块中使用列表

区块中使用列表实例如下:

> 区块中使用列表
> 1. 有序列表1
> 2. 有序列表2
> - 无序列表1
> - 无序列表2

显示效果:

区块中使用列表

  1. 有序列表1
  2. 有序列表2
  • 无序列表1
  • 无序列表2

列表中使用区块

如果要在列表项目内放进区块,那么就需要在>前添加四个空格和缩进。

- 无序列表1
> 区块1
> 区块2
- 无序列表2

显示效果:

  • 无序列表1

    区块1
    区块2

  • 无序列表2

Markdown代码框

代码片段

如果是段落上的一个函数或片段的代码可以用两个’把它包起来。

`print("Hello World!")`

显示效果:
print("Hello World!")


代码块

使用 符号表示,例如: 这是一段代码块。 在第一行和最后一行使用三个反引号,同时第一行反引号后面表面代码块所使用的语言,例如:
```python
print(“Hello World!”)
```
显示效果:

print("Hello World!")

Markdown链接

链接

链接使用方法如下:

[链接名称](链接地址)

<链接地址>

显示效果:

高级链接

我们可以通过变量来设置一个链接,变量赋值在文档末尾进行:

这个链接用 1 作为网址变量 [Google][1]
这个链接用 fairly 作为网址变量 [Fairly][fairly]
然后在文档的结尾为变量赋值(网址)
[1]: http://www.google.com/
[fairly]: https://www.hesihai.com/

显示效果:
这个链接用 1 作为网址变量 Google
这个链接用 fairly 作为网址变量 Fairly

Markdown图片

![alt 属性文本](图片地址)

![alt 属性文本](图片地址 "可选标题")
  • 开头一个感叹号 !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 ‘title’ 属性的文字。

显示效果:
Markdown

也可以像网址那样对图片使用变量:

这个链接用 1 作为网址变量 [Fairly][1].
然后在文档的结尾为变量赋值(网址)

[1]: https://hesihai.com/images/avatar.jpg

显示效果:
Fairly

注意:Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的 标签。

<img src="https://cdn.jsdelivr.net/gh/FairlyHe/fairly-images@main/blog/frontend/markdown.webp" width="50%">

显示效果:

Markdown 表格

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。

| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |

显示效果:

表头 表头
单元格 单元格
单元格 单元格

对齐方式

我们可以设置表格的对齐方式:

  • -: 设置内容和标题栏居右对齐。
  • :- 设置内容和标题栏居左对齐。
  • :-: 设置内容和标题栏居中对齐。
    | 左对齐 | 右对齐 | 居中对齐 |
    | :-----| ----: | :----: |
    | 单元格 | 单元格 | 单元格 |
    | 单元格 | 单元格 | 单元格 |
    显示效果:
    左对齐 右对齐 居中对齐
    单元格 单元格 单元格
    单元格 单元格 单元格

Markdown 高级技巧

支持的 HTML 元素

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。

目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等 ,如:

使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑

显示效果:
使用 Ctrl+Alt+Del 重启电脑

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

**文本加粗**
\*\* 正常显示星号 \*\*

显示效果:
文本加粗
** 正常显示星号 **

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\   反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号

公式

Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。
KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。你可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。
默认下的分隔符:

  • $...$ 或者 \(...\) 中的数学表达式将会在行内显示。
  • $$...$$ 或者 \[...\] 或者 ```math 中的数学表达式将会在块内显示。
$$
\begin{Bmatrix}
a & b \\
c & d
\end{Bmatrix}
$$
$$
\begin{CD}
A @>a>> B \\
@VbVV @AAcA \\
C @= D
\end{CD}
$$

显示效果:

$$
\begin{Bmatrix}
a & b \
c & d
\end{Bmatrix}
$$
$$
\begin{CD}
A @>a>> B \
@VbVV @AAcA \
C @= D
\end{CD}
$$

最后

以上就是 Markdown 的基本语法,更多语法可以参考 Markdown 语法说明
推荐一些Markdown 编辑器: