MarkDown介绍

Markdown是一种轻量级的标记语言,可用于将格式设置元素添加到纯文本文档中。Markdown 由John Gruber于2004年创建,如今已成为世界上最受欢迎的标记语言之一。


多级标题

使用#号标记

使用**#号可表示1-6级标题,一级标题对应一个#号,二级标题对应两个#**号,以此类推。

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

使用=和-标记一级和二级标题

在文本下方的行上,添加任意数量的=字符表示标题级别1,任意数量的-字符表示标题级别2。

1
2
3
4
5
我展示的是一级标题
=================

我展示的是二级标题
---------

段落

Markdown段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。当然也可以在段落后面使用一个空行来表示重新开始一个段落。

1
2
3
4
This is the first line.  
And this is the second line.

And this is the third line.

字体

粗体

要加粗文本,在单词或短语的前后添加两个星号或下划线。要加粗一个单词的中部以强调,在字母周围添加两个星号,且各空格之间不加空格

1
2
3
I just love **bold text**.
I just love __bold text__.
Love**is**bold

斜体

要斜体文本,在单词或短语的前后添加一个星号或下划线。要斜体突出单词的中间部分,在字母周围添加一个星号,中间不要带空格。

1
2
3
Italicized text is the *cat's meow*.
Italicized text is the _cat's meow_.
A*cat*meow

粗体和斜体

要同时突出显示带有粗体和斜体的文本,请在单词或短语的前后添加三个星号或下划线。

1
2
___粗斜体文本___
___粗斜体文本___

块引用

Markdown 块引用是在段落开头使用>符号 ,然后后面紧跟一个空格符号。块引用可以包含多个段落,只要在块引用内增加由块引用符号开启的空行即可。块引用可以包含其他Markdown格式的元素,支持类似于加粗、代码块、列表、表格等。

1
2
3
4
5
6
7
8
9
10
> 最**外层**
> > 一层嵌套1
>
> > 一层嵌套2
> >
> > > 二层嵌套
>
> 返回到最外层
>
> >>>>>> 直接的七层块引用

外层

一层嵌套1

一层嵌套2

二层嵌套

返回到最外层

直接的七层块引用


列表

Markdown支持有序和无序两种列表,无序列表可以通过*,+,-三种方式定义无序列表,有序列表通过数字. 的形式定义有序列表。要在保留列表连续性的同时在列表中添加另一个元素,将该元素缩进四个空格或一个制表符。

无序列表

通过 *、+、-三种方式定义的无序列表,这三种方式的发布后的效果一样,都会被转换<ul><li></li></ul>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
使用星号生成无序列表

* 项目1
* 项目2
* 项目3

使用加号生成无序列表

+ 项目1
+ 项目2
+ 项目3

使用减号生成无序列表

- 项目1
- 项目2
- 项目3

使用星号生成无序列表

  • 项目1
  • 项目2
  • 项目3

使用加号生成无序列表

  • 项目1
  • 项目2
  • 项目3

使用减号生成无序列表

  • 项目1
  • 项目2
  • 项目3

有序列表

通过数字. 的形式定义有序列表,有序列表在发布后会被转化为<ol><li></li></ol>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
使用数字实现有序列表

1. 项目1
2. 项目2
3. 项目3

源码中的数字与渲染后的数字并不一一对应,但可以决定列表的开始序号

例如,让Markdown渲染器自动安排序号:

0. 项目1
0. 项目2
0. 项目3

让有序列表以“2”开头:

2. 项目1
1. 项目2
0. 项目3

使用数字实现有序列表

  1. 项目1
  2. 项目2
  3. 项目3

源码中的数字与渲染后的数字并不一一对应,但可以决定列表的开始序号

例如,让Markdown渲染器自动安排序号:

  1. 项目1
  2. 项目2
  3. 项目3

让有序列表以“2”开头:

  1. 项目1
  2. 项目2
  3. 项目3

代码

行内代码

行内代码用一对 反引号` 符号将需要转换的文字内容包括起来,它让我们方便地在行内编辑带有特殊字符的文字内容。如果表示为代码的文字包含一个或多个反引号,可以通过将代码的文字括在 一对双反引号` 中来对其进行转义。

1
2
3
4
5
行内的 html 代码:`<head><title>网页标题</title></head>`

行内的 json 代码:`var json = {key: value};`

这段代码里包含反引号 ``select `state` from user;``

行内的 html 代码:<head><title>网页标题</title></head>

行内的 json 代码:var json = {key: value};

这段代码里包含反引号 select `state` from user;


代码块

在 Markdown 文件中,在行首添加 4 个连续的空格或者一个制表符(Tab 键),可将行内容定义为代码块。

1
2
3
4
5

pubic static void main(String[] args) {
System.out.println("Hello world");
}


围栅代码块

代码块的另一种定义方式是以三个连续的 反引号`作为开始行和结束行。在这种方式下,还可以声明代码的高亮样式,方法是在首行反引号后面加入源代码语言的标记,比如:javascript、Markdown、json、java、c++、sql 等。

1
2
3
pubic static void main(String[] args) {
System.out.println("Hello world");
}

水平线

通过输入三个或更多的减号 -星号*下划线_的方式创建一条相当于 HTML 语法中 <hr/> 一样的分隔线。这三个符号之间可以包含空格。建议在文章中都是用下划线 _,作为换行的输入,这样避免语义错误,同时与 Word 的方式更加接近。

1
2
3
4
5
6
7
8
9
10
使用「星号」作为分割线

___

使用「减号」作为分割线

___

使用「下划线」作为分割线
___

链接

要创建链接,将链接文本括在方括号(例如[label])中,然后用一对紧跟中括号的小括号描述目标链接,小括号内不仅可以包含链接的地址,也可以用引号 “ “设定链接的标题。当一个超链接在文章中反复出现时,可以使用全局声明的形式,减少文章编写的工作量,可以通过变量来设置一个链接,变量赋值在文档末尾进行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
声明超链接

一对中括号就可以将文字转换为超链接,如: [北京](),[上海](),[广州](),[深圳]()

声明超链接的细节

点击下面的连接将跳转到[我的博客](https://wenwenmidgard.github.io '博客')个人博客页面

全局声明超链接

欢迎访问[我的博客][blog]页面,[我的博客][blog]欢迎。

[blog]: https://wenwenmidgard.github.io

简写的全局声明超链接

欢迎访问[博客][]页面,[博客][]欢迎。

[博客]: https://wenwenmidgard.github.io

声明超链接

一对中括号就可以将文字转换为超链接,如: 北京上海广州深圳

声明超链接的细节

点击下面的连接将跳转到我的博客个人博客页面。

全局声明超链接

欢迎访问我的博客页面,我的博客欢迎。

简写的全局声明超链接

欢迎访问博客页面,博客欢迎。


图片

在Markdown文件中,使用 ![alt 属性文本](图片地址 "可选标题") 的形式定义图片。当一张图片在文章中反复出现时,可以使用全局声明的形式,减少文章编写的工作量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
插入图片

![替换文字内容](图片URL或URI "这是一张图片")

链接图片链接

[![替换文字内容](图片URL或URI "这是一张图片")](网址)

使用全局声明方式插入图片

![][img1]
![][img2]
![][img1]
![][img2]

[img1]: 图片URL或URI "这是一张图片1"
[img2]: 图片URL或URI "这是一张图片2"

辅助线

辅助线是文字格式的一种,常见形式如下划线和中划线,下划线可用于圈出文字中需要注意的部分,删除线可用于表示文字中已经失效的内容。

中划线

Markdown 语法里的辅助线包含中划线(删除线)一种形式,中划线使用波浪线 ~来描述。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

这是一个删除线

~~这是一条删除线~~

当删除线内部紧跟 "空格" 时,删除线效果会失效。

~~有效的删除线~~

~~失效的删除线 ~~

~~ 失效的删除线 ~~

~~ 失效的删除线~~

这是一个删除线

这是一条删除线

当删除线内部紧跟 “空格” 时,删除线效果会失效。

有效的删除线

~~失效的删除线 ~~

~~ 失效的删除线 ~~

~~ 失效的删除线~~


下划线

Markdown 的原生语法没有定义 “下划线” ,因为 “下划线” 效果容易和 “超链接” 相混淆。如果需要在文章中添加下划线,需要使用 HTML 标签,下划线可以通过 HTML 的 <u> 、<ins>标签来实现。

1
2
3
4
5
6
7
下划线使用 html 语法的 ins 标签实现

<ins>这是一个下划线</ins>

下划线使用 html 语法的 u 标签实现

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

下划线使用 html 语法的 ins 标签实现

这是一个下划线

下划线使用 html 语法的 u 标签实现

带下划线文本