Markdown语法教程
{#top}
Markdwon 是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTLM格式发布。Markdown也可以理解为将以Markdown语法编写的语言转换成HTML内容的工具。
一、标题
两种写法:
1. 使用 # ,可以表示1-6级标题
示例md代码:
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
示例效果:
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
2. 使用 = 和 - ,标记一级和二级标题
示例md代码:
一级标题
========
二级标题
--------
示例效果:
一级标题
二级标题
二、段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)
三、字体
- 斜体
需要倾斜的文字两侧分别使用 * 号或 _ 包起来 - 粗体
需要加粗的文字两侧分别使用两个 * 号包起来 - 粗斜体
需要倾斜和加粗的文字两侧分别使用三个 * 号包起来 - 删除线
需要加删除线的文字两侧分别使用两个 ~ 号包起来
示例md代码:
*斜体*
_斜体2_
**加粗**
***斜体加粗***
~~中划线~~
示例效果:
斜体
斜体2
加粗
斜体加粗
中划线
四、引用
在段落的每行或者只在第一行使用符号 > ,还可使用多个嵌套引用
示例md代码:
> 引用
>> 一嵌套引用
>>> 二嵌套引用
>>>> 三嵌套引用
示例效果:
引用
一嵌套引用
二嵌套引用
三嵌套引用
五、分隔线
在一行中用三个或以上的星号(*)、减号(-)、底线(_)来建立一个分隔线,行内不能有其他东西。当然可以在中间插入空格
示例md代码:
**********
----------
__________
示例效果:
六、超链接
以比较简短的链接形式来处理网址和电子邮箱,Markdown 就会自动把它转成超链接。链接可以由两种形式生成,行内式和参考式
1. 行内式链接
使用<>包起来,或[链接名](链接地址 “标题”),也可以直接写链接地址
示例md代码:
<http://www.github.com>
[码云](http://www.gitee.com)
http://www.baidu.com
示例效果:
http://www.github.com
码云
http://www.baidu.com
2. 参考式链接
使用![网址链接][标记],在文档的最后写上[标记]:网站地址 “标题”(最后这个"标题"可以不填写)
示例md代码:
[GitHub][url]
其他文档内容
[url]:http://github.com
示例效果:
GitHub
其他文档内容
七、图片
添加图片形式和链接相似,只需要在链接的基础上前方加一个叹号(!),![图片加载错误提示](图片路径 “标题”)
示例md代码:
![加载失败](pic/github.jpg "本地图片")
![无图片](https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D220/sign=d034324c01f79052eb1f403c3cf2d738/0dd7912397dda1445da42dedbab7d0a20df486c4.jpg "网络图片")
![][picurl]
[picurl]:pic/git.jpg "参考式图片"
示例效果:
八、列表
1. 无序列表
使用星号(*)、加号(+)、减号(-)表示无序列表,列表不光可以单独使用,也可以使用其他的 Markdown 语法
注意:符号后面至少有一个空格或制表符
示例md代码:
* 无序列表1
* 无序列表2
* 无序列表3
+ 无序列表1
+ 无序列表2
+ 无序列表3
- **无序列表1**
- 无序列表2
- 无序列表3
示例效果:
-
无序列表1
-
无序列表2
-
无序列表3
-
无序列表1
-
无序列表2
-
无序列表3
-
无序列表1
-
无序列表2
-
无序列表3
2. 有序列表
使用数字和一个英文句点表示有序列表
注意:英文句点后面至少有一个空格或制表符
示例md代码:
1. 有序列表1
2. 有序列表2
3. 有序列表3
示例效果:
- 有序列表1
- 有序列表2
- 有序列表3
3. 列表嵌套
上一级和下一级之间敲两个空格或一个制表符即可
示例md代码:
* 一级列表1
* 二级列表1
* 三级列表1
* 三级列表2
* 二级列表2
* 二级列表3
* 一级列表2
* 一级列表3
* 一级列表4
示例效果:
- 一级列表1
- 二级列表1
- 三级列表1
- 三级列表2
- 二级列表2
- 二级列表3
- 二级列表1
- 一级列表2
- 一级列表3
- 一级列表4
九、表格
表格的基本写法很简单,就跟表格的形状很相似。
示例md代码:
姓名|年龄|性别
---|---|---
小明|25|男
小红|23|女
小丽|24|女
示例效果:
姓名 | 年龄 | 性别 |
---|---|---|
小明 | 25 | 男 |
小红 | 23 | 女 |
小丽 | 24 | 女 |
可以指定表格单元格的对齐方式,冒号在左边表示左对齐,右边表示有对齐,两边都有表示居中
示例md代码:
第一列标题|第二列标题|第三列标题
:--|--:|:-:
内容1|内容2|内容3
内容1|内容2|内容3
内容1|内容2|内容3
示例效果:
第一列标题 | 第二列标题 | 第三列标题 |
---|---|---|
内容1 | 内容2 | 内容3 |
内容1 | 内容2 | 内容3 |
内容1 | 内容2 | 内容3 |
十、代码块
对于程序员来说这个功能是必不可少的,插入代码块的方式有两种,一种是每行加上四个空格或者一个制表符,另一种是在代码开始与结束时使用反引号(`)包裹代码
两边的反引号单独占一行,在开始符号后加上代码的语言名称会语法高亮的效果
如果在一个行内需要引用代码,只要用反引号引起来就好
示例md代码:
public class Hello{
public static void main(String[] args){
System.out.println("hello markdown");
}
}
```java
public class Hello{
public static void main(String[] args){
System.out.println("hello markdown");
}
}
<table>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
</tr>
</table>
.top {
width : 300px;
height : 280px;
background-color : red;
}
function test(){
for(var i=1;i<=10;i++){
console.log(i);
}
}
行内代码块:hello markdown
示例效果:
public class Hello{
public static void main(String[] args){
System.out.println("hello markdown");
}
}
```java
public class Hello{
public static void main(String[] args){
System.out.println("hello markdown");
}
}
<table>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
</tr>
</table>
.top {
width : 300px;
height : 280px;
background-color : red;
}
function test(){
for(var i=1;i<=10;i++){
console.log(i);
}
}
行内代码块:hello markdown
十一、锚点
锚点其实就是页内超链接,只有标题支持锚点,不支持锚点的可使用HTML来实现
示例md代码:
在页面顶部加上锚点
###### {#top}
跳转到[顶部](#top)
示例效果:
跳转到顶部
十二、脚注
在添加脚注的文字后加上[^脚注名字],称为加注。然后在文本的任意位置(一般在最后)添加脚注,脚注前必须有对应的脚注名字
示例md代码:
使用Markdown[^1]可以效率的书写文档,直接转换为HTML[^2].
[^1]: Markdown是一种纯文本标记语言
[^2]: HyperText Markup Language超文本标记语言
示例效果:
使用Markdown1可以效率的书写文档,直接转换为HTML2.
十三、特殊符号
1. 反斜杠
对于 Markdown 中的语法符号,前面加反斜线\即可显示符号本身
示例md代码:
反斜杠 \\
星号 \*
下划线 \_
井号 \#
加号 \+
减号 \-
句号 \.
感叹号 \!
括号 \(\) \[\] \{\}
示例效果:
反斜杠 \
星号 *
下划线 _
井号 #
加号 +
减号 -
句号 .
感叹号 !
括号 () [] {}
2. 空格字符
示例md代码:
数字
你好 中文1/4个
你好 中文1/2个
你好 中文1个
字母
你好 中文1/4个
你好 中文1/2个
你好 中文1个
示例效果:
数字
你好 中文1/4个
你好 中文1/2个
你好 中文1个
字母
你好 中文1/4个
你好 中文1/2个
你好 中文1个
3. 其他特殊字符
示例md代码:
❤
✓
☀
★
☂
☯
☢
☎
☺
❄
♫
示例效果:
❤
✓
☀
★
☂
☯
☢
☎
☺
❄
♫
字符对应的Unicode码查询网址:https://unicode-table.com/cn/
十四、EMOJI表情符号
EMOJI表情使用:EMOJICODE:的格式,详细列表可见
https://www.webpagefx.com/tools/emoji-cheat-sheet/
工具或网站 | 是否支持EMOJI表情符号 |
---|---|
简书 | 否 |
MarkDownPad | 否 |
有道云笔记 | 否 |
zybuluo.com | 否 |
github | 是 |
示例md代码:
:smile::sweat::rage::heart::thumbsup::sunny:
示例效果:
😄😓😡❤️👍☀️
十五、LaTeX数学公式
示例md代码:
$\sqrt{x}$
$\sqrt{ x^{2}+\sqrt{y} }$
$\underbrace{ a+b+\cdots+z }_{26}$
$\surd[x^2 + y^2]$
示例效果:
x
\sqrt{x}
x
x
2
+
y
\sqrt{ x^{2}+\sqrt{y} }
x2+y
a
+
b
+
⋯
+
z
⏟
26
\underbrace{ a+b+\cdots+z }_{26}
26
a+b+⋯+z
√
[
x
2
+
y
2
]
\surd[x^2 + y^2]
√[x2+y2]
十六、流程图
流程图是以```mermaid
flowchat,并以 ``` 结束,内容分为两个部分:定义参数然后连接参数
示例md代码:
```mermaid
flowchat
st=>start: 流程开始
cond=>condition: 是否成立?
op=>operation: 执行内容
e=>end: 流程结束
st->op->cond
cond(no)->op
cond(yes)->e
```mermaid
flowchat
st=>start: 循环开始
cond=>condition: 判断条件是否成立?
op=>subroutine: 执行循环体中内容
e=>end: 循环结束
st->cond->op->cond
cond(no)->e
cond(yes)->op
十七、任务列表
- [] 已处理的事情1
- [] 已处理的事情2
- [] 已处理的事情3
- 未处理的事情1
- 未处理的事情2