Markdown基础语法教程

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。

Markdown 的优缺点

优点:
1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。
2、操作简单,简洁快捷。
缺点:
1、需要记一些语法(当然,是很简单。五分钟学会)。
2、部分平台不支持Markdown编辑模式。

Markdown 的应用

Markdown 能被使用来撰写电子书,如:Gitbook。

当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。

Markdown 标题

在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。

注:标准语法一般在#后跟个空格再写文字。
效果如下:

标题

我是二级标题

我是三级标题

欢迎来到一只喵博客

Markdown 标题有两种格式,常见的就是上面的哪一种,还有一种是使用 = 和 - 标记一级和二级标题。
在文本下方添加任意数量的 == 号来标识一级标题,或者 – 号来标识二级标题。

Markdown 字体

1,加粗
要加粗的文字左右分别用两个*号包起来

2,斜体
要倾斜的文字左右分别用一个*号包起来

3,斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来

4,删除线
要加删除线的文字左右分别用两个~~号包起来
例如:

1
2
3
4
**这是加粗的文字**
*这是倾斜的文字*`
***这是斜体加粗的文字***
~~这是加删除线的文字~~

效果如下:
这是加粗的文字
这是倾斜的文字`
这是斜体加粗的文字
这是加删除线的文字

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

1
2
3
4
5
6
7
8
9
***

* * *

*****

- - -

----------

效果如下:






6,下划线
大多 Markdown 应用程序允许你在 Markdown 格式文本中添加 HTML 标签。如果你喜欢某些 HTML 标签胜于 Markdown 语法的话,这将何有帮助。例如,某些人发现通过 HTML 标签添加图像更加容易。当你需要更改元素的属性时(例如为文本指定颜色或更改图像的宽度),使用 HTML 标签更方便些。
如需使用 HTML,请将 HTML 标签添加到 Markdown 格式文本中即可。

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

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

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

Markdown 脚注的格式如下:

1
[^要注明的文本]

脚注的用法例子:

1
2
3
创建脚注格式类似这样 [^一只喵博客]。

[^一只喵博客]: 一只喵博客-易的个人小站

Markdown 段落

要创建段落,请使用空白行将一行或多行文本进行分隔。
注意:除非 段落在列表中,否则不要用空格或制表符缩进段落。

Markdown 换行

在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行。

几乎每个 Markdown 应用程序都支持两个或多个空格进行换行 (称为 “结尾空格(trailing whitespace)”) 的方式,但这是有争议的,因为很难在编辑器中直接看到空格,并且很多人在每个句子后面都会有意或无意地添加两个空格。由于这个原因,你可能需要使用除结尾空格以外的其它方式来进行换行。幸运的是,几乎每个 Markdown 应用程序都支持另一种换行方式:HTML 的
标签。

为了兼容性,请在行尾添加“结尾空格”或 HTML 的
标签来实现换行。

还有两种其他方式我并不推荐使用。CommonMark 和其它几种轻量级标记语言支持在行尾添加反斜杠 () 的方式实现换行,但是并非所有 Markdown 应用程序都支持此种方式,因此从兼容性的角度来看,不推荐使用。并且至少有两种轻量级标记语言支持无须在行尾添加任何内容,只须键入回车键( return)即可实现换行。

Markdown 块引用

在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>…
例如:

1
2
3
>这是引用的内容
>>这是引用的内容
>>>这是引用的内容

效果如下:

这是引用的内容

这是引用的内容

这是引用的内容

Markdown 列表

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

无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容。

无序列表:

1
2
3
4
5
- 列表内容
+ 列表内容
* 列表内容

注意:- + * 跟内容之间都要有一个空格

效果如下:

  • 列表内容
  • 列表内容
  • 列表内容

有序列表:
有序列表使用数字并加上 . 号来表示,如:

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

效果:

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

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

1
2
3
4
5
6
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素

显示效果:

  1. 第一项:
    • 第一项嵌套的第一个元素
    • 第一项嵌套的第二个元素
  2. 第二项:
    • 第二项嵌套的第一个元素
    • 第二项嵌套的第二个元素

引用块中使用列

1
2
3
4
5
6
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项

效果如下:

区块中使用列表

  1. 第一项
  2. 第二项
  • 第一项
  • 第二项
  • 第三项

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

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

1
2
3
4
* 第一项
> 一只喵博客
> 一个无聊的个人小站
* 第二项

效果:

  • 第一项

    一只喵博客
    一个无聊的个人小站

  • 第二项

Markdown 表格

语法:

1
2
3
4
5
6
7
8
9
10
11
表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容

第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略

示例:

1
2
3
4
5
姓名|分数|排行
--|:--:|--:
张三|100|
李四|95|
王五|66|

效果:
姓名|分数|排行
–|:–:|–:
张三|100|一
李四|95|二
王五|66|三

对齐方式

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

-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。

Markdown 代码

单行代码:代码之间分别用一个反引号包起来
例如:

1
`代码内容` 这是一行代码

效果:代码内容 这是一行代码

代码块:用 ``` 包裹一段代码,并指定一种语言(也可以不指定)
例如:

1
2
3
$(document).ready(function () {
alert('shenqublog');
});

也可以使用 4 个空格或者一个制表符(Tab 键)。

Markdown 超链接

语法:

1
2
3
4
5
[链接名称](链接地址)

或者

<链接地址>

例如:

1
这是一个链接 [一只喵博客](http://blog.yizhi.space)

效果:
这是一个链接 一只喵博客

Markdown本身语法不支持链接在新页面中打开,如果想要在新页面中打开的话可以用html语言的a标签代替。
语法:

1
<a href="超链接地址" target="_blank">超链接名</a>

示例:

1
<a href="https://www.baidu.com" target="_blank">百度</a>

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

1
2
3
4
5
6
这个链接用 1 作为网址变量 [Google][1]
这个链接用 2 作为网址变量 [Baidu][2]
然后在文档的结尾为变量赋值(网址)

[1]: http://www.google.com/
[2]: https//www.baidu.com

Markdown 图片

Markdown 图片语法格式如下:

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

![alt 属性文本](图片地址 "可选标题")

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

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

1
<img src="图片链接" width="50%">

Markdown 流程图

详情可参考:https://mermaid-js.github.io/mermaid/#/

Markdown 其他

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

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

出于安全原因,并非所有 Markdown 应用程序都支持在 Markdown 文档中添加 HTML。如有疑问,请查看 Markdown 应用程序的文档。某些应用程序只支持 HTML 标签的子集。

对于 HTML 的块级元素 <div>、<table>、<pre> <p>,请在其前后使用空行(blank lines)与其它内容进行分隔。尽量不要使用制表符(tabs)或空格(spaces)对 HTML 标签做缩进,否则将影响格式。

在 HTML 块级标签内不能使用 Markdown 语法。例如 <p>italic and **bold**</p> 将不起作用。

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
\	反斜杠(backslash)
` backtick
* 星号(asterisk)
_ 下划线(underscore)
{ } 花括号(curly braces)
[ ] 方括号(brackets)
< > angle brackets
( ) 圆括号或括号(parentheses)
# 井号(pound sign)
+ 加号(plus sign)
- 减号(minus sign) (也叫连字符 hyphen)
. 句点(dot)
! 感叹号(exclamation mark)
| 管道符(pipe)

公式

分数,平方

算式 markdown
7x+51+y2 7 x + 5 1 + y 2 \frac{7x+5}{1+y^2}

下标

算式 markdown
z=zl z = z l z=z_l

省略号

省略号 markdown
⋯ ⋯ \cdots

行间公式(使用两个$包含公式可以独立一行)

行间公式 markdown
ddxeax=aeax∑ni=1(Xi−X¯¯¯¯)2 d d x e a x = a e a x ∑ i = 1 n ( X i − X ¯ ) 2 $\frac{d}{dx}e^{ax}=ae^{ax}\quad \sum_{i=1}^{n}{(X_i - \overline{X})^2}$

开根号

算式 markdown
2–√;3–√n 2 ; 3 n \sqrt{2};\sqrt[n]{3}

矢量

算式 markdown
a⃗ ⋅b⃗ =0 a → ⋅ b → = 0 \vec{a} \cdot \vec{b}=0

微积分

算式 markdown
∫23x2dx ∫ 3 2 x 2 d x \int ^2_3 x^2 {\rm d}x
∬ ∬ \iint
∭ ∭ \iiint
∮ ∮ \oint
\varoiint \varoiint \oint
d d \mathrm{d}
′ ′ \prime
lim lim \lim
∞ ∞ \infty
∂ ∂ \partial
∂f(x,y)∂x∣∣x=0 ∂ f ( x , y ) ∂ x x = 0
∑ ∑ \sum

极限

算式 markdown
limn→+∞n l i m n → + ∞ n \lim_{n\rightarrow+\infty} n

累加

算式 markdown
∑1i2 ∑ 1 i 2 \sum \frac{1}{i^2}

累乘

算式 markdown
∏1i2 ∏ 1 i 2 \prod \frac{1}{i^2}

给公式编号,如: (1)
$$e^{i\theta}=cos\theta+\sin\theta i\tag{1}$$

eiθ=cosθ+isinθ(1) (1) e i θ = c o s θ + i sin ⁡ θ

矩阵

1
2
3
4
5
6
7
$$
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{matrix} \tag{1}
$$

147258369(1) (1) 1 2 3 4 5 6 7 8 9

带括号的矩阵

1
2
3
4
5
6
7
8
$$
\left[
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{matrix} \right]\tag{2}
$$

⎡⎣⎢147258369⎤⎦⎥(2) (2) [ 1 2 3 4 5 6 7 8 9 ]

符号 形式
pmatrix (1324)
bmatrix [1324]
Bmatrix {1324}
vmatrix
Vmatrix

希腊字母

大写 markdown 小写 markdown
A A α \alpha
B B β \beta
Γ \Gamma γ \gamma
Δ \Delta δ \delta
E E ϵ \epsilon
ε \varepsilon
Z Z ζ \zeta
H H η \eta
Θ \Theta θ \theta
I I ι \iota
K K κ \kappa
Λ \Lambda λ \lambda
M M μ \mu
N N ν \nu
Ξ \Xi ξ \xi
O O ο \omicron
Π \Pi π \pi
P P ρ \rho
Σ \Sigma σ \sigma
大写 markdown 小写 markdown
T T τ \tau
Υ \Upsilon υ \upsilon
Φ \Phi ϕ \phi
φ \varphi
X X χ \chi
Ψ \Psi ψ \psi
Ω \Omega ω \omega

三角函数

三角函数 markdown
sin \sin

对数函数

对数函数

算式 markdown
ln15 ln ⁡ 15 \ln15
log210 l o g 2 10 \log_2^{10}
lg7 lg ⁡ 7 \lg7

关系运算符

运算符 markdown
± \pm
× \times
÷ \div
\sum
\prod
\neq
\leq
\geq

括号

运算符 markdown
大括号: {a+x} \lbrace a+x \rbrace
尖括号: ⟨x⟩ ⟨ x ⟩ \langle x \rangle
上取整: ⌈x2⌉ ⌈ x 2 ⌉ \lceil \frac{x}{2} \rceil
下取整: ⌊x⌋ ⌊ x ⌋ \lfloor x \rfloor
原始括号: {∑ni=0i2=2ax2+1} { ∑ i = 0 n i 2 = 2 a x 2 + 1 } \lbrace \sum_{i=0}^{n}i^{2}=\frac{2a}{x^2+1} \rbrace
全包括号: {∑ni=0i2=2ax2+1} { ∑ i = 0 n i 2 = 2 a x 2 + 1 } \left\lbrace \sum_{i=0}^{n}i^{2}=\frac{2a}{x^2+1} \right\rbrace

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!