一篇通俗易懂的Markdown教程


概述

Markdown 的目标是实现「易读易写」。

Markdown,这个至今没有中文译名的书写工具,作为比特世界的,自被发明之初就随着博客发展的浪潮传向互联网的每一片大陆。不过更多的人或胆怯于它陌生的使用方式,或不屑于它复杂的标记字符,始终没有领略这一工具的简便和优雅。Markdown 是一种轻量级的纯文本标记语言,它的优点很多,目前也被广泛应用于写作、撰稿、简历、公众号图文、事项清单。看到这里请不要被标记语言所迷惑,它的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。本文将详细记录Markdown用法及编辑器推荐。

Markdown 的优点

  • 专注你的文字内容而不是排版样式,安心写作。
  • 轻松的导出 HTML、PDF 和本身的 .md 文件。
  • 纯文本内容,兼容所有的文本编辑器与字处理软件。
  • 随时修改你的文章版本,不必像字处理软件生成若干文件版本导致混乱。
  • 可读、直观、学习成本低。

$We\ believe\ that \ writing\ is\ about$
$content,\ about\ what\ you \ want\ to\ say,$
$not\ about\ fancy\ formatting.$

我们坚信写作写的是内容,所思所想,而不是花样格式。

— Ulysses for Mac

常用语法

重点写前面:

  • 所有语法符号均为英文半角符号
    • 注意符号后有无空格
  • Markdown 段落是由一个或多个连续的文本行组成
    • 它的前后要有一个以上的空行
    • 普通的Markdown段落不可以用空格或制表符来缩进
  • 输入完一行后,敲两下Enter换行
    • 确保上一行的语法不影响下一行效果
    • 而且编辑区域敲十次Enter只是换一行
    • 若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)

1. 标题:

1
2
3
4
5
6
7
用#表示标题,注意#后面有一个空格
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

2. 字体格式:

1
2
3
4
两端加下划线_也表示斜体
两端加两个**号表示粗体
两端加两条是下划线__也表示粗体
两端加波浪线两条~~表示删除线
1
2
3
4
5
6
7
8
9
10
11
*这是斜体*

_这也是斜体_

**这是粗体**

__这也是粗体__

~~这上面有删除线~~

_斜体**加粗**斜体_

效果:
这是斜体

这也是斜体

这是粗体

这也是粗体

这上面有删除线

斜体加粗斜体

列表

无序列表:

无序列表使用-+*作为列表标记:

1
2
3
4
5
6
7
8
9
10
11
12
注意后面有一个空格:
- Red
- Green
- Blue

* Red
* Green
* Blue

+ Red
+ Green
+ Blue

效果:

三种用法效果都一样(如下)

  • Red
  • Green
  • Blue

有序列表:

1
2
3
4
注意1.后面有一个空格
1. first
2. second
3. third

效果:
(手动翻译)

  1. 第一
  2. 第二
  3. 第三

引用:

1
2
3
4
5
6
7
8
9
10
> 引用一句名言:        
//注意>号后面有一个空格
> 引用代码块形势
// 此处>号后面有五个空格

多级引用:

> 一级引用
> > 二级引用
> > > 三级引用

效果:

引用一句名言:

//注意>号后面有一个空格
引用的代码块形势 
    // 此处>号后面有五个空格

一级引用

二级引用

三级引用

代码:

分为代码块和行内代码块

  • 行内代码块:两端加两个抑音符(反引号)`
  • 代码块在头尾加上三个抑音符(反引号)`
1
2
3
4
行内`代码`块


代码块 //此部分就是代码块效果

效果:

行内代码

图片:

使用链接插入图片

  • 前面有!号,注意区分,插入链接没有!
  • 感叹号必须是英文状态下输入,看看中英文的符号区别!!!!
  • 中括号内为图片描述,可不添加
  • 小括号内为图片的链接地址,也可以是本地地址
    1
    2
    3
    4
    5
    ![]()

    ![图片描述(可忽略)](图片地址)

    ![Mrakdown-必应](https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Markdown-mark.svg/1280px-Markdown-mark.svg.png)

效果:

Mrakdown-必应

链接:

1
2
3
4
5
6
7
[]()

[本文地址](https://xiabor.com/2019/5/14/Markdown2/)
//只显示[]内的内容

<https://xiabor.com>
//一般显示蓝色链接

效果:

本文地址
https://xiabor.com

分隔线

  • 在一行中用三个及以上的星号*、减号-、下划线_来建立一个分隔线
  • 行内不能有其他内容,也可以在星号或是减号中间插入空格。
    1
    2
    3
    ***
    ---
    * * *

效果:


公式:

目前我只会写简单的质能公式(手动滑稽)

1
2
$$E=mc^2$$          
//一个$表示公式,两个则表示公式居中

效果:

$$E=mc^2$$

脚注:

  • 脚注和注脚一样吗,好像没区别
  • 确保[^]里面的内容与底部的一致即可,可以是中文

脚注的例子[1](点击抵达页脚)

锚点:

  • jump可以用其他字符或字符串代替,id一致即可
  • 效果与脚注类似,可以跳转之文中任意位置
1
2
[说明文字](#jump)
<span id="jump">

效果:

说明文字 点击跳转至流程图

反斜杠

  • Markdown可以利用反斜杠来插入一些在语法中有其它意义的符号
  • 例如:你想要用星号加在文字旁边的方式来做出强调效果(为了避免冲突)
  • 你可以在星号的前面加上反斜杠,如果不加\,#后就会变为一级标题
  • Markdown支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\   反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号

对比效果:
# 不加\,表示一级标题
\# 加了\,表示#
——至此常用语法就写完了,你学会了吗——


不常用语法:

以下内容为不常用语法,读者自行斟酌

转译箭头:

  • \to\rightarrow与前面无空格
  • 注意后面有空格!
  • $ $之间若想空格,用\加空格表示
1
2
3
4
5
6
7
$A\to B$
$C\rightarrow D$
$C\Rightarrow D$
$E\longrightarrow F$
$A\Longleftrightarrow B$
$A\xrightarrow{\ \ \ \ 20km\quad} B$
$Beijin\xrightarrow{10991km)\quad} New York$

效果:

$A\to B$
$C\rightarrow D$
$C\Rightarrow D$
$E\longrightarrow F$
$A\Longleftrightarrow B$
$A\xrightarrow{\ \ \ \ 20km\quad} B$
$Beijin\xrightarrow{10991km)\quad} New York$

表格:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
居左::----
居中::----:或-----
居右:----:

|标题|标题|标题|
|:---|:---:|---:|
|居左测试|居中测试|居右测试|
|居左测试1|居中测试1|居右测试1|
|居左测试2|居中测试2|居右测试2|
|居左测试3|居中测试3|居右测试3|

为了效果,我只能用HTML强制渲染了
|标题|标题|标题|
|:---|:---:|---:|
|居左测试|<center>居中测试</center>|<p align="right">居右测试</p>|
|居左测试1|<center>居中测试1</center>|<p align="right">居右测试1</p>|
|居左测试2|<center>居中测试2</center>|<p align="right">居右测试2</p>|
|居左测试3|<center>居中测试3</center>|<p align="right">居右测试3</p>|

效果:

标题 标题 标题
居左测试
居中测试

居右测试

居左测试1
居中测试1

居右测试1

居左测试2
居中测试2

居右测试2

居左测试3
居中测试3

居右测试3

任务列表

  • 任务列表即待办事项,表现为方框
1
2
3
- [x] 早餐(已完成)
- [ ] 喝水
- [ ] 学习

效果:

  • 早餐(已完成)
  • 喝水
  • 学习

流程图:

此处用···代替了抑音符
···flow
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
···

效果:

1
2
3
4
5
6
7
8
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end

st->op->cond
cond(yes)->e
cond(no)->op

序列图:

1
2
3
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!

序列图语法参考

甘特图:

甘特图语法参考



编辑器



  1. 1.这里是注脚