Markdown语法全面详解

## Markdown语法图文全面详解
# 目录

简介:
md格式是近几年流行起的一个纯文本格式,对于一个程序员来说,用md格式代替word、txt等格式用来写说明文档或者blog,目前github以及CSDN都支持md格式书写blog了,用着用着就开始喜欢上了。

本篇文章主要就是记录一下md格式的语法,md语法在几乎所有支持md格式的软件都是通用的,而快捷键是在MarkdownPad2软件环境下。


[TOC]
### 1、Markdown常用快捷键

功能| 快捷键 |    
-|-|-
标题 | ctrl+1   用#号表示,#一级标题,##表示二级标题,依次类推,快捷键ctrl+1、2、3、4… | 
加粗 |左右用**包裹起来,快捷键 Ctrl + B | 
斜体 | 左右用*包裹起来,快捷键Ctrl + I | 
引用 | 在文字开头添加 > 表示引用说明,快捷键 Ctrl + Q | 
插入链接 | 快捷键 Ctrl + L | 
插入代码 | 可以通过tab或者4个空格缩进表示,也可以通过“`将代码包裹起来表示代码块,快捷键 Ctrl + K | 
插入图片 | 快捷键 Ctrl + G | 
提升标题 | Ctrl + H | 
有序列表 | 通过-加一个空格表示,后面跟内容,快捷键 Ctrl + U | 
无序列表 | 通过数字加一个.以及一个空格表示,后面跟内容,快捷键ctrl+shift+o | 
横线 | 快捷键 Ctrl + R | 
撤销 | 快捷键 Ctrl + Z | 
重做 | 快捷键 Ctrl + Y | 
时间戳 | 快捷键 Ctrl + T |
加粗加斜体 | 左右用***包裹起来,快捷键ctrl+i,ctrl+b,先后顺序无所谓 |
生成目录 | [TOC]按回车 |


### 2、基本语法
##### 2.1 字体设置斜体、粗体、删除线


```
这里显示正文
*这里显示的是斜体*
_这里显示的倾斜体_
**这里显示的文字是加粗了**
***这里的文字是倾斜加粗的***
~~这里的文字是加下划线的~~
```

显示如下

这里显示正文
*这里显示的是斜体*
_这里显示的倾斜体_
**这里显示的文字是加粗了**
***这里的文字是倾斜加粗的***
~~这里的文字是加下划线的~~

##### 2.2 分级标题

写发1:
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:
```
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题  

这个写法和 **文字**效果是一样的
```


输出的结果:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题  



写法2: 
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。

类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),任何数量的 = 和 - 都可以有效果。例如:

```
这是一个一级标题
============================
```
输出结果:

这是一个一级标题
============================

或者

```
二级标题
-----------
```
输出结果:

二级标题
---------------


##### 2.3 链接
(1)插入本地图片链接的方法有两种:
![图片描述](图片路径"title")
![图片描述](图片路径)
注:图片描述可以不写。
如本地插入图片示范:

```
![插入下一层级目录下的图片](/短视频封面/083.jpg)
![插入同级目录下的图片](/原创扁平方盒-逐浪字体.jpg)
```
效果:
![插入下一层级目录下的图片](/短视频封面/083.jpg)
![插入同级目录下的图片](/原创扁平方盒-逐浪字体.jpg)


(2)插入互联网上图片 

![图片描述](图片网络路径)
注:图片描述与插入本地图片一样,描述可以不写。

写法:
```
![图片描述](https://www.z01.com/template/office/style/images/hezi5.jpg)
```
效果:
![图片描述](https://www.z01.com/template/office/style/images/hezi5.jpg)

(3)自动连接 
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用<>包起来, Markdown 就会自动把它转成链接。也可以直接写,也是可以显示成链接形式的。
链接内容定义的形式为:

方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
接着一个冒号
接着一个以上的空格或制表符
接着链接的网址
选择性地接着 title 内容,可以用单引号、双引号或是括弧包着

下面这三种链接的定义都是相同:

```
[这是一个链接]: http://www.z01.com/  "这里是链接的title内容"
[这是一个链接]: http://www.z01.com/  '这里是链接的title内容'
[这是一个链接]: http://www.z01.com/  (这里是链接的title内容)
```

```

这是一个链接 [这是逐浪软件官网链接](http://www.z01.com/).
```
结果:
这是一个链接 [这是逐浪软件官网链接](http://www.z01.com/).

在链接的时候也可以选择加上title属性,title 属性是选择性的,链接名称可以用字母、数字和空格,但是不分大小写:


```
这是一个链接 [这是逐浪软件官网链接](http://www.z01.com/ "欢迎访问逐浪软件官网").
```
结果:
这是一个链接 [这是逐浪软件官网链接](http://www.z01.com/ "欢迎访问逐浪软件官网")

输出 HTML 为:
```
<p>这是一个链接 <a href="http://www.z01.com/" title="欢迎访问逐浪软件官网">
这是逐浪软件官网链接</a>.</p>
```

##### 2.4 代码块


对于程序员来说代码功能是必不可少的,插入程序代码的方式有两种,一种是利用缩进(tab), 另一种是利用英文“`”符号(一般在ESC键下方,和~同一个键)包裹代码。

如果要标记一小段行内代码,你可以用反引号把它包起来(```),例如:

                Use the `printf()` function.

会产生:

                <p>Use the <code>printf()</code> function.</p>

如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段:
``There is a literal backtick (`) here.``
这段语法会产生:
<p><code>There is a literal backtick (`) here.</code></p>


在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体,这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码,只需要复制贴上,剩下的 Markdown 都会帮你处理,Markdown会把下面这段:
```
`Please don't use any `<blink>` tags.
```

转为:

```<p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>```

你也可以这样写:
```  &#8212;` is the decimal-encoded equivalent of `&mdash;`.```

以产生:
```
`Please don't use any `<blink>` tags.
```
```
<p><code>&amp;#8212;</code> is the decimal-encoded
equivalent of <code>&amp;mdash;</code>.</p>
```
##### 2.5 分割线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
```
* * *
***
*****
- - -
---------------------------------------
```
##### 2.6 强调
Markdown 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 标签包围,用两个*或_包起来的话,则会被转成,例如:

```
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
```
会转成:
```
<em>single asterisks</em>
<em>single underscores</em>
<strong>double asterisks</strong>
<strong>double underscores</strong>
```
你可以随便用你喜欢的样式,唯一的限制是,你用什么符号开启标签,就要用什么符号结束。

强调也可以直接插在文字中间:

```un*frigging*believable ```

但是如果你的 \* 和 _ 两边都有空白的话,它们就只会被当成普通的符号。
如果要在文字前后直接插入普通的星号或底线,你可以用反斜线:

``` \*this text is surrounded by literal asterisks\* ```


##### 2.7 引用

在被引用的文本前加上>符号,以及一个空格就可以了,如果只输入了一个>符号会产生一个空白的引用。

(1)基本使用 
使用如下图所示:
```
> 文字引用 
> 文字引用 
> 文字引用 
> 文字引用 
> 文字引用 
>
> 文字引用 
> 文字引用 
> 文字引用 
```
显示如下:
> 文字引用 
> 文字引用 
> 文字引用 
> 文字引用 
> 文字引用 
>
> 文字引用 
> 文字引用 
> 文字引用

(2)嵌套引用
```
>>>第一层嵌套引用
>>第二层嵌套引用
>第三层嵌套引用
```
显示如下:
>>> 第一层嵌套引用
>> 第二层嵌套引用
>> 第三层嵌套引用

(3)引用其它要素 
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等。 
使用如图所示: 

##### 2.8 列表
Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号作为列表标记:
不管是无序列表还是有序列表,符号后面一定要有一个空格,起到缩进的作用。 

(1)无序列表 
使用 星号*,加号+,减号- 表示无序列表。 

```
* 无序列表文字
* 无序列表文字
* 无序列表文字
```
等同于:
```
+ 无序列表文字
+ 无序列表文字
+ 无序列表文字
```
也等同于:

```
- 无序列表文字
- 无序列表文字
- 无序列表文字
```
最后显示结果相同,显示如下:

* 无序列表文字--前是*号的显示
* 无序列表文字--前是*号的显示
* 无序列表文字--前是*号的显示
+ 无序列表文字--前是+号的显示
+ 无序列表文字--前是+号的显示
+ 无序列表文字--前是+号的显示
- 无序列表文字--前是-号的显示
- 无序列表文字--前是-号的显示
- 无序列表文字--前是-号的显示
 

(2)有序列表 
有序列表则使用数字接着一个英文句点:
注意:英文句点后面一定要有一个空格,起到缩进的作用。 
```
1. 有序列表
2. 有序列表
3. 有序列表
```
显示结果如下:
1. 有序列表
2. 有序列表
3. 有序列表

(3)无序列表和有序列表同时使用 
```
* 这是无序列表1
- 这是无序列表2
+ 这是无序列表3
1. 这是有序列表1 
2. 这是有序列表2
* 1. 有序无序混合使用1
+ 2. 有序无序混合使用2
```
* 这是无序列表1
- 这是无序列表2
+ 这是无序列表3
1. 这是有序列表1 
2. 这是有序列表2
* 1. 有序无序混合使用1
+ 2. 有序无序混合使用2

(4)注意事项 
在使用列表时,只要是数字后面加上英文的点,就会无意间产生列表,比如2020.5.25 这时候想表达的是日期,有些软件把它被误认为是列表。解决方式:在每个点前面加上\就可以了。如下图所示:

```2020\. 05\. 25. 今天是2020年5月25日 ```

显示如下:
2020\. 05\. 25. 今天是2020年5月25日

##### 2.9 表格
(1)极简模式
```
水果名称| 价格 |  数量  
-|-|-
香蕉 | $1 | 5 |
苹果 | $1 | 6 |
草莓 | $1 | 7 |

```
效果如下:
水果名称| 价格 |  数量  
-|-|-
香蕉 | $1 | 5 |
苹果 | $1 | 6 |
草莓 | $1 | 7 |

(2)简单方法
```
name | 111 | 222 | 333 | 444
- | :-: | :-: | :-: | -:
aaa | bbb | ccc | ddd | eee| 
fff | ggg| hhh | iii | 000|

```
效果如下:
name | 111 | 222 | 333 | 444
- | :-: | :-: | :-: | -:
aaa | bbb | ccc | ddd | eee| 
fff | ggg| hhh | iii | 000|

(3)原生方法
```
name | 111 | 222 | 333 | 444
:-: | :-: | :-: | :-: | :-:
aaa | bbb | ccc | ddd | eee| 
fff | ggg| hhh | iii | 000|

```
效果如下:
name | 111 | 222 | 333 | 444
:-: | :-: | :-: | :-: | :-:
aaa | bbb | ccc | ddd | eee| 
fff | ggg| hhh | iii | 000|

## 其他
##### 反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 `` 标签),你可以在星号的前面加上反斜杠:

``` \*literal asterisks\* ```

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
```
\   反斜线
`   反引号
*   星号
_   底线
{}  花括号
[]  方括号
()  括弧
#   井字号
+   加号
-   减号
.   英文句点
!   惊叹号
```





猜你喜欢

转载自www.cnblogs.com/zoomlaCMS/p/12963282.html