前言
本文记录了Markdown Syntax中常用到的,以及在Markdown Preview Enhanced中经常用到而github未实现或不支持的语法。articles/2023-03-11-Markdown(简单小例子).md at main · slshsl/articles (github.com)
常用语法
HTML 标签
<div align="center" style="color:red">VS Code使用Markdown编写文档</div>
标题
注:# 后面保持空格(和使用 h1/h2 标签功能类似)
# 标题1
## 标题2
### 标题3
#### 标题4
##### 标题5
###### 标题6
标题一等价写法:在下面一行写三个等号(=),该文字自动格式化为标题1
===
标题二等价写法:在下面一行写三个横线(-),该文字自动格式化为标题2
---
ingore
标题后面添加`{ignore}`则目录会忽略该标题;这是 `Markdown Preview Enhanced` 支持的,`github pages` 不支持。
文本
普通文本
这是一段普通的文本
单行文本
Hello,大家好,我是果冻虾仁。
在一行开头加入 2 个 Tab 或者 4 个空格。
文本块
欢迎到访
很高兴见到您
祝您,早上好,中午好,下午好,晚安
在连续几行的文本开头加入 2 个 Tab 或者 4 个空格。
在连续几行的文本开头加入 2 个 Tab 或者 4 个空格。
换行
直接回车不能换行,
可以在上一行文本后面补两个空格,
这样下一行的文本就换行了。
或者就是在两行文本直接加一个空行。
也能实现换行效果,不过这个行间距有点大。
高亮 文本
==高亮==:==高亮==
强调(粗体、倾斜、删除)
_斜体_:斜体
**加粗** :加粗
**_加粗+斜体_**:加粗+斜体
~~删除线~~:删除线
$\underline{下划线}$:
语义标签
<i>斜体</i>:斜体
<b>加粗</b>:加粗
<em>强调</em>:强调
<u>下划线</u>:下划线
<del>删除</del>:删除
Z<sup>a</sup>:Za
Z<sub>a</sub>:Za
<kbd>Ctrl</kbd>:Ctrl
引用
单行式
> hello world!
hello world!
多行式
> hello world!
> hello world!
> hello world!
> hello world!
hello world!
hello world!
hello world!
多行嵌套
> hello world!
>> hello world!
>>> hello world!
hello world!
hello world!
hello world!
脚注
H~2~O:H2O
n^2^:n^2^
分隔符
三个或者更多星号、连接符(横线)、下划线
***、---、___
代码块
基本使用
```code
<div></div>
```
<div></div>
语法高亮
```javascript
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
显示代码行数
```javascript {.line-numbers}
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
以上
github pages不支持显示行号
高亮代码行数
```javascript {highlight=3}
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```javascript {highlight=1-2}
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```javascript {highlight=[1,3]}
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
```
var num = 0;
for (var i = 0; i < 5; i++) {
num += i;
}
console.log(num);
以上
github pages不支持显示行号
行内标记
你好`asdf`你好年后
你好asdf你好年后
链接
-
外部链接
https://github.com [GitHub](https://github.com) [GitHub](https://github.com "GitHub官网") -
内部链接
链接仓库其他文件:readme
链接本文档其他部分(空格用-代替):高亮-文本
-
引用式链接
链接仓库其他文件:readme
链接本文档其他部分:标记
图片链接

alt 和 title 即对应 HTML 中的 alt 和 title 属性(都可省略):
-
alt表示图片显示失败时的替换文本 -
title表示鼠标悬停在图片时的显示文本(注意这里要加引号) -
URL即图片的url地址,如果引用本仓库中的图片,直接使用相对路径就可了
锚点
其实呢,每一个标题都是一个锚点,和 HTML 的锚点(#)类似,比如我们
| 语法 | 效果 | 注意点 |
|---|---|---|
[锚点测试](#html-标签) | 锚点测试 | 空格用-替代;英文尽量用小写 ;大小写相同的标题会只跳到第一个 |
[多级序号测试](#21-gfm) | 多级序号测试 | 多级序号.需要去除 |
不过要注意,标题中的英文字母都被转化为小写字母了。
以前
GitHub对中文支持的不好,所以中文标题不能正确识别为锚点,但是现在已经没问题啦!
列表
-
有序列表:这是一级的有序列表(在
github中,数字 1 还是 1)- 姓名:这是二级的有序列表(在
github中,阿拉伯数字在显示的时候变成了罗马数字)- 你好: 这是三级的有序列表(在
github中,数字在显示的时候变成了英文字母) - 你好
- 你好: 这是三级的有序列表(在
- 姓名
- 名称
- 姓名:这是二级的有序列表(在
-
无序列表(使用 *,+,- 表示无序列表)
- 阿松大
- 士大夫
- 是否
- 是否
- 啊手动阀
- asd
表格
-
基本用法
| 序号 | 名称 | 性别 | 年龄 | | ---- | ---- | ---- | ---- | | 1 | sl | 男 | 35 | | 2 | sl | 男 | 35 | | 3 | sl | 男 | 35 |序号 名称 性别 年龄 1 sl 男 35 2 sl 男 35 3 sl 男 35 左右两侧
|可省略。 -
对齐
表格可以指定对齐方式
| 左对齐 | 居中 | 右对齐 | | :------------ | :-------------: | -----: | | col 3 is | some wordy text | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 |左对齐 居中 右对齐 col 3 is some wordy text $1600 col 2 is centered $12 zebra stripes are neat $1
2.1 GFM
GitHub Flvored Markdom,markdom 是个规范,GFM 是 github 实现的markdown的方案
-
task list
-
item1
-
item2
-
item3
在 GitHub 的issue中使用该语法是可以实时点击复选框来勾选或解除勾选的,而无需修改 issue 原文。
-
-
emojy表情符号;语法:emojy code::notebook::sleeping:
-
diff
版本控制的系统中都少不了 diff 的功能,即展示一个文件内容的增加与删除。GFM 中可以显示的展示 diff 效果。使用绿色表示新增,红色表示删除。其语法与代码高亮类似,只是在三个反引号后面写 diff,并且其内容中,可以用
+开头表示新增,-开头表示删除。另外还有有!和#的语法。```diff + 人闲桂花落, - 夜静春山空。 ! 月出惊山鸟, # 时鸣春涧中。 ```+ 人闲桂花落, - 夜静春山空。 ! 月出惊山鸟, # 时鸣春涧中。