---
layout: post # 使用的布局(不需要改)
title: Markdown语法 # 标题
subtitle: Markdown笔记必备知识 #副标题
date: 2019-09-17 # 时间
author: Duter2016 # 作者
header-img: img/post-bg-dutzl.jpg #这篇文章标题背景图片
catalog: true # 是否归档
music-id: # 网易云音乐单曲嵌入
music-idfull: # 网易云音乐歌单嵌入
tags: #标签
- Markdown
---
#Markdown语法
**目录:**
****
[TOC]
****
Markdown语法主要分为如下几大部分:
**标题**,**段落**,**区块引用**,**代码区块**,**强调**,**列表**,**分割线**,**链接**,**图片**,**反斜杠 \\**,**符号'`'**。
## 1.1 标题
两种形式:
1)使用`=`和`-`标记一级和二级标题。
> 一级标题
> `=========`
> 二级标题
> `---------`
效果:
> 一级标题
> =========
> 二级标题
> ---------
2)使用\#,可表示1-6级标题。
> \# 一级标题
> \## 二级标题
> \### 三级标题
> \#### 四级标题
> \##### 五级标题
> \###### 六级标题
效果:
> # 一级标题
> ## 二级标题
> ### 三级标题
> #### 四级标题
> ##### 五级标题
> ###### 六级标题
## 1.2 段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用**两个以上**空格加上回车(引用中换行省略回车)。
## 1.3 区块引用
在段落的每行或者只在第一行使用符号`>`,还可使用多个嵌套引用,如:
> \> 区块引用
> \>> 嵌套引用
效果:
> 区块引用
>> 嵌套引用
## 1.4 代码区块
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如
普通段落:
void main()
{
printf("Hello, Markdown.");
}
代码区块:
void main()
{
printf("Hello, Markdown.");
}
**注意**:需要和普通段落之间存在空行。
## 1.5 强调
在强调内容两侧分别加上`*`或者`_`,如:
> \*斜体\*,\_斜体\_
> \*\*粗体\*\*,\_\_粗体\_\_
效果:
> *斜体*,_斜体_
> **粗体**,__粗体__
## 1.6 列表
使用`·`、`+`、或`-`标记无序列表,如:
> \-(+\*) 第一项
> \-(+\*) 第二项
> \- (+\*)第三项
**注意**:标记后面最少有一个_空格_或_制表符_。若不在引用区块中,必须和前方段落之间存在空行。
效果:
> + 第一项
> + 第二项
> + 第三项
有序列表的标记方式是将上述的符号换成数字,并辅以`.`,如:
> 1 . 第一项
> 2 . 第二项
> 3 . 第三项
效果:
> 1. 第一项
> 2. 第二项
> 3. 第三项
## 1.7 分割线
分割线最常使用就是三个或以上`*`,还可以使用`-`和`_`。
## 1.8 链接
`[]`里写链接文字,`()`里写链接地址, `()`中的 `""` 中可以为链接指定title属性, title属性可加可不加。title属性的效果是鼠标悬停在链接上会出现指定的 title文字。`[链接文字](链接地址 "链接标题")` 这样的形式。链接地址与链接标题前有一个空格。
链接可以由两种形式生成:**行内式**和**参考式**。
###行内式:
`[younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown")`
效果:
> [younghz的Markdown库](https:://github.com/younghz/Markdown "Markdown")
##参考式:
```
[younghz的Markdown库1][1]
[younghz的Markdown库2][2]
[1]:https:://github.com/younghz/Markdown "Markdown"
[2]:https:://github.com/younghz/Markdown "Markdown"
```
效果:
> [younghz的Markdown库1][1]
> [younghz的Markdown库2][2]
[1]: https:://github.com/younghz/Markdown "Markdown"
[2]: https:://github.com/younghz/Markdown "Markdown"
**注意**:上述的`[1]:https:://github.com/younghz/Markdown "Markdown"`不出现在区块中。
### 自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱, 只要是用 `<>` 包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样, 例如:
```markdown
```
>
>
>
>
## 1.9 图片
添加图片的形式和链接相似,只需在链接的基础上前方加一个`!`。
图片的创建方式与超链接相似, 而且和超链接一样也有两种写法, 行内式和参考式写法。
语法中图片Alt的意思是如果图片因为某些原因不能显示, 就用定义的图片Alt文字来代替图片。 图片Title则和链接中的Title一样, 表示鼠标悬停与图片上时出现的文字。 Alt 和 Title 都不是必须的, 可以省略, 但建议写上。
### 图片行内式
`![图片Alt](图片地址 "图片Title")`
```markdown
![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg "哆啦A梦")
```
![哆啦A梦](https://cdoco.com/images/duolaameng.jpeg "哆啦A梦")
### 图片参考式
在文档要插入图片的地方写 `![图片Alt][标记]`。
在文档的最后写上 `[标记]:图片地址 "Title"`。
```markdown
![哆啦A梦][duolaameng]
[duolaameng]:https://cdoco.com/images/duolaameng.jpeg "哆啦A梦"
```
![哆啦A梦][duolaameng]
[duolaameng]:https://cdoco.com/images/duolaameng.jpeg "哆啦A梦"
## 1.10 反斜杠`\`
相当于**反转义**作用。使符号成为普通符号。但是在Retext中**反转义**不能对全部符号起作用,需要使用Tab键上面的“`”来实现。
## 1.11 符号'`'
起到标记作用。如:
>\`ctrl+a\`
效果:
>`ctrl+a`
## 1.12 表格
列表的使用(非traditonal markdown):
用`|`表示表格纵向边界,表头和表内容用`-`隔开,并可用`:`进行对齐设置,两边都有`:`则表示居中,若不加`:`则默认左对齐。
**简单方式**:
```markdown
诗名|作者|朝代
-|-|-
白头吟|卓文君|两汉
锦瑟|李商隐|唐代
登科后|孟郊|唐代
```
效果:
诗名|作者|朝代
-|-|-
白头吟|卓文君|两汉
锦瑟|李商隐|唐代
登科后|孟郊|唐代
**原生方式**:
```markdown
|诗名|作者|朝代|
|-|-|-|
|白头吟|卓文君|两汉|
|锦瑟|李商隐|唐代|
|登科后|孟郊|唐代|
```
效果:
|诗名|作者|朝代|
|-|-|-|
|白头吟|卓文君|两汉|
|锦瑟|李商隐|唐代|
|登科后|孟郊|唐代|
**为表格第二列指定方向**:
```markdown
诗名|名句
-|-:
梦微之|君埋泉下泥销骨。
上邪|上邪,我欲与君相知,长命无绝衰。
```
效果:
诗名|名句
-|-:
梦微之|君埋泉下泥销骨。
上邪|上邪,我欲与君相知,长命无绝衰。
## 1.13 删除线
```markdown
~~花自飘零水自流~~
```
效果:
>~~花自飘零水自流~~
## 1.14 内容目录
在段落中填写 `[TOC]` 以显示全文内容的目录结构。
****
**注意**:不同的Markdown解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。
虽然有人想出面搞一个所谓的标准化的Markdown,[没想到还惹怒了健在的创始人John Gruber](http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/)。
****
以上基本是所有traditonal markdown的语法。