avatar

Markdown语法

一、Markdown 简介

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。

Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。

Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。

Markdown 编写的文档后缀为 .md, .markdown。

二、Markdown 语法

1、标题

标题有两种方式显示,一种是用(任意个) = 和 - 标记一级和二级标题;另一种是用一到六个 # 标记 h1~h6。如下所示:

1
2
3
4
一级标题
===
二级标题
---
1
2
3
4
5
6
# h1
## h2
### h3
#### h4
##### h5
###### h6

2、段落格式

普通回车会被识别为空格而非分段标记,只有在段末双击回车或者空格才能实现换行。双击回车两段之间隔行,双击空格只分段不隔行。

字体

Markdown只有以下三种字体选择:

1
2
3
4
5
6
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___

分隔线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。

下划线

下划线可以通过<u></u>这对标签来实现。

删除线

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

脚注

脚注是对文本的补充说明。
Markdown 脚注的格式如下:

1
2
3
这是需要插入脚注的文字[^1]

[^1]:脚注内容,可以写在结尾。

3、列表

Markdown 支持有序列表和无序列表。

无序列表使用星号*、加号+或是减号-作为列表标记;有序列表用数字加.做标记。

列表可以嵌套,只需在子列表前添加若干空格即可,但是必须确保同级列表缩进一致。

4、区块

Markdown 区块引用是在段落开头使用>符号加空格,使用若干>可以多层嵌套。区块中可以套用列表,列表中也可以套用区块,但是需要在>前至少添加两个空格缩进,效果如下:

第一层

第二层

  • 第二层中的列表:

    列表中套用的区块

第三层(老千层饼了)

双击回车可以退出区块引用。

5、代码

段落内代码

段落上的一个函数或片段的代码可以用反引号包裹。

代码区块

代码区块有两种实现方法,第一种是使用4个空格或者敲击Tab键表示;第二种是用一对```包裹一段代码(夹在中间),可以在第一组反引号末尾指定一种语言。

6、链接

链接使用方法如下:

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

或者:

1
<直接显示链接地址>

还可以通过变量设置链接,在文末对变量赋值:

1
2
3
4
这个链接用1作为网址变量(也可以用其它字符串作变量) [以我博客为例][1]
然后在文档的结尾为变量赋值(网址)

[1]: https://keqsia.github.io/

7、图片

Markdown 图片语法格式如下:

1
![alt 替代文本](图片地址 "可选标题")

如果需要指定图片的属性,可以用<img>标签。

8、锚点

锚点类似于链接,功能是跳转到当前文本想要的标题位置,使用锚点可以实现类似于目录的功能。使用方法如下:

1
[显示文本](#标题)

注意,()中的标题格式是决定跳转是否成功的关键。首先,#后面不需要空格,几个#都无所谓,不影响跳转;其次,在原本标题的基础上,需要删除标题中的全部标点符号,英文字母全部小写处理;最后,全部空格都替换成-。

9、表格

表格使用

绘制表格用|来分隔不同的单元格,使用若干个-来分隔表头和其他行。
可以通过:位置设计对齐方式,表格默认左对齐,格式如下:

1
2
3
4
| 左对齐 | 右对齐 | 居中对齐 |
| :----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

三、Markdown 拓展

1、原生支持

HTML 元素

Markdown 支持<kbd> <b> <i> <em> <sup> <sub> <br>等HTML标签,若有不支持的标签,可以将源码写入<html></html>标签中即可显示。

转义

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用\加在末尾符号前转义特殊字符,例如:

1
**shenme\*\*

特殊符号

使用方法 示例
&reg; ®
&fnof; ƒ
&radic;
&deg; °

更多符号详参:http://blog.csdn.net/html5_/article/details/21639475

2、扩展支持

当需要使用数学公式时,可以使用两个美元符$$包裹 TeX 或 LaTeX 格式的数学公式,但必须确保有相应的引擎渲染。例如:
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \
\end{vmatrix}
${$tep1}{\style{visibility:hidden}{(x+1)(x+1)}}
$$

3、Typora 图表支持

Typora 的图表支持均可以在 Mermain Live Editor 网站上进行编辑,可以复制代码或者将生成的图表下载下来,或者获取URL。

横向流程图

1
2
3
4
5
6
7
graph LR
A-->C
A-->B
B-->E
E-->F
E-->G
E-->H

纵向流程图

1
2
3
4
5
6
7
8
9
graph TD
A[马老师,发生肾么事了]-->B[发了两张截图给我]
B-->C[我一看,哦,原来是昨天有两个年轻人不讲武德]
C---D[一个左正蹬]
C---E[一个右鞭腿]
C---F[一个左刺拳]
D-->G[欺负我一个六十多岁的老同志]
E-->G
F-->G

时序图

1
2
3
4
5
sequenceDiagram
朋友-->>马老师:马老师,发生肾么事了?
马老师->>朋友:原来是有两个年轻人,一个二十来岁,一个三十来岁
马老师->>朋友:不讲武德,上来就是一个左正蹬,一个右鞭腿,一个左刺拳
马老师->>朋友:来骗,来偷袭,我一个六十多岁的老同志

状态图

1
2
3
4
5
6
7
8
stateDiagram-v2
[*] --> Still
Still --> [*]

Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]

流程图

1
2
3
4
5
6
7
8
9
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op

饼图

1
2
3
4
pie title 答题人数统计:马老师的门派叫什么?
"混元形意门":23
"浑圆形意门":36
"混元形意太极门":41

甘特图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%% 语法示例
gantt
dateFormat YYYY-MM-DD
title 软件开发甘特图
section 设计
需求 :done, des1, 2014-01-06,2014-01-08
原型 :active, des2, 2014-01-09, 3d
UI设计 : des3, after des2, 5d
未来任务 : des4, after des3, 5d
section 开发
学习准备理解需求 :crit, done, 2014-01-06,24h
设计框架 :crit, done, after des2, 2d
开发 :crit, active, 3d
未来任务 :crit, 5d
耍 :2d
section 测试
功能测试 :active, a1, after des3, 3d
压力测试 :after a1 , 20h
测试报告 : 48h
文章作者: keQsia
文章链接: http://keqsia.github.io/2020/03/31/markdown%E8%AF%AD%E6%B3%95/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 keQsia的博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝