# Markdown基本语法
{{:image:write5.jpg?nolink&200 |}} Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
**Markdown语言特点**
- 语法简练,易于创造和阅读,方便创作web文档,利于各平台无缝分发
- 纯文本格式,完全由标点符号标签组成
- 内联HTML语法,可以直接使用HTML标签
**Markdown的语法包括**
1. [基本语法](## 基本语法):标题,字体,分割线,引用,图片,超链接,列表等
2. [高级语法](## 高级语法):目录,任务列表,块语法(目录,代码块,表格等)
3. 拓展语法:HTML原始码,流程图,LaTeX公式等
## 基本语法
### 标题
**语法说明**
在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。
**代码**
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
**显示效果**
略
### 字体
**语法说明**
- 加粗(要加粗的文字左右分别用两个*号包起来)
- 斜体(要倾斜的文字左右分别用一个*号包起来)
- 斜体加粗(要倾斜和加粗的文字左右分别用三个*号包起来)
- 删除线(要加删除线的文字左右分别用两个~~号包起来)
**代码**
**这是加粗的文字**
*这是倾斜的文字*`
***这是斜体加粗的文字***
~~这是加删除线的文字~~
==背景高亮==
**显示效果**
**这是加粗的文字**
_这是倾斜的文字_
**_这是斜体加粗的文字_**
~~这是加删除线的文字~~
==背景高亮的文字==
### 分割线
**语法说明**
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线。
**代码**
---
----
***
*****
**显示效果**
可以看到,显示效果是一样的。
---
----
***
*****
### 引用
**语法说明**
引用需要在被引用的文本前加上>符号。
**代码**
>这是引用的内容
>>这是引用的内容
>>>这是引用的内容
**显示效果**
> 这是引用的内容
>
>> 这是引用的内容
>>
>>> 这是引用的内容
>>>
P.S. Markdown 也允许你偷懒只在整个段落的第一行最前面加上 >
### 插入图片
图片的创建方式与超链接相似,而且和超链接一样也有两种写法,行内式和参考式写法。
语法中图片Alt的意思是如果图片因为某些原因不能显示,就用定义的图片Alt文字来代替图片。 图片Title则和链接中的Title一样,表示鼠标悬停与图片上时出现的文字。 Alt 和 Title 都不是必须的,可以省略,但建议写上。
**语法说明**
![图片alt](图片地址 ''图片title'')
图片alt就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加
**代码**
![数学猫](http://www.vim.org.cn/vimage/vimcat.jpg "猫的顿悟")
**显示效果**
![数学猫](http://www.vim.org.cn/vimage/vimcat.jpg "猫的顿悟")
**上传本地图片直接点击导航栏的图片标志,选择图片即可**
markdown格式追求的是简单、多平台统一。那么图片的存储就是一个问题,需要用图床,提供统一的外链,这样就不用在不同的平台去处理图片的问题了。才能做到书写一次,各处使用。
## 超链接
**语法说明**
[超链接名](超链接地址 "超链接title")
title可加可不加
[]里写链接文字,()里写链接地址, ()中的""中可以为链接指定title属性,title属性可加可不加。title属性的效果是鼠标悬停在链接上会出现指定的 title文字,链接地址与title前有一个空格。
**示例**
[vim笔记](http://www.vim.org.com "vim是个好同志")
[业擎社创](http://www.yeqing.org.cn)
**显示效果**
[vim笔记](http://www.vim.org.com)
[业擎社创](http://www.yeqing.org.cn)
注:Markdown本身语法不支持链接在新页面中打开,如果想要在新页面中打开的话可以用html语言的a标签代替。
超链接名
**显示效果**
vim笔记
* * *
## 列表
### 无序列表
**语法说明**
无序列表用 \- \+ \* 任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
注意:- + * 跟内容之间都要有一个空格
**效果如下**
- 列表内容
- 列表内容
- 列表内容
### 有序列表
**语法说明**
数字加点
1. 列表内容
2. 列表内容
3. 列表内容
注意:序号跟内容之间要有空格
**显示效果**
1. 列表内容
2. 列表内容
3. 列表内容
### 列表嵌套
**上一级和下一级之间敲三个空格即可**
- 一级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
---
- 一级无序列表内容
1. 二级有序列表内容
2. 二级有序列表内容
3. 二级有序列表内容
---
1. 一级有序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
---
1. 一级有序列表内容
1. 二级有序列表内容
2. 二级有序列表内容
3. 二级有序列表内容
## 高级语法
### 表格
**语法说明**
|表头|表头|表头|
|---|---|---|
|内容|内容|内容|
|内容|内容|内容|
第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
- 文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
**代码**
|姓名|技能|排行|
|--|--|--|
|刘备|哭|大哥|
|关羽|打|二哥|
|张飞|骂|三弟|
**显示效果**
|姓名|技能|排行|
|--|--|--|
|刘备|哭|大哥|
|关羽|打|二哥|
|张飞|骂|三弟|
### 代码
**语法说明**
单行代码:代码之间分别用一个反引号包起来
`代码内容`
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
(```)
代码...
代码...
代码...
(```)
> 注:为了防止转译,前后三个反引号处加了小括号,实际是没有的。这里只是用来演示,实际中去掉两边小括号即可。
**代码**
单行代码
`create database hero;`
代码块
(```)
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
(```)
**显示效果**
单行代码
`create database hero;`
代码块
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
### 定义型列表
**语法说明:**
定义型列表由名词和解释组成。一行写上定义,紧跟一行写上解释。解释的写法:紧跟一个缩进(Tab)
**代码:**
```
Markdown
: 轻量级文本标记语言,可以转换成html,pdf等格式(左侧有一个可见的冒号和四个不可见的空格)
代码块 2
: 这是代码块的定义(左侧有一个可见的冒号和四个不可见的空格)
代码块(左侧有八个不可见的空格)
```
**显示效果:**
Markdown
: 轻量级文本标记语言,可以转换成html,pdf等格式
代码块 2
: 这是代码块的定义
`代码块(左侧有八个不可见的空格)`
### 注脚
**语法说明**
在需要添加注脚的文字后加上脚注名字[^注脚名字],称为加注。 然后在文本的任意位置(一般在最后)添加脚注,脚注前必须有对应的脚注名字。
注意:经测试注脚与注脚之间必须空一行,不然会失效。成功后会发现,即使你没有把注脚写在文末,经Markdown转换后,也会自动归类到文章的最后。
**代码**
```
使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2]。
[^1]:Markdown是一种纯文本标记语言
[^2]:HyperText Markup Language 超文本标记语言
```
**显示效果**
使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2]。
[^1]:Markdown是一种纯文本标记语言
[^2]:HyperText Markup Language 超文本标记语言
注:脚注自动被搬运到最后面,请到文章末尾查看,脚注后方的链接可以直接跳转回到加注的地方。
### 目录
`[TOC] `
### 锚点(页内超链接)
**语法说明**
网页中,锚点其实就是页内超链接,也就是链接本文档内部的某些元素,实现当前页面中的跳转。比如我这里写下一个锚点,点击回到目录,就能跳转到目录。 在目录中点击这一节,就能跳过来。还有下一节的注脚。这些根本上都是用锚点来实现的,只支持在标题后插入锚点,其它地方无效。
**代码**
`## 0. 目录{# index}`
**显示效果**
略
### 自动链接
**语法说明**
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用<>包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
**代码**
``
**显示效果**
### 转义字符
Markdown中的转义字符为\,转义的有:
`\` 反斜杠 ``` 反引号 * 星号 _ 下划线 {} 大括号 [] 中括号 () 小括号 # 井号 + 加号 - 减号 . 英文句号 ! 感叹号
### HTML原始码
**语法说明**
在代码区块里面,&、<和>会自动转成HTML实体,这样的方式让你非常容易使用Markdown插入范例用的HTML原始码,只需要复制贴上,剩下的Markdown都会帮你处理,例如:
**代码**
例子:
``
**显示效果**
### 特殊字符
| 特殊字符 | 描述 | 字符的代码 |
| :------: | :-----------: | :--------: |
| | 空格符 | ` ` |
| < | 小于号 | `<` |
| > | 大于号 | `>` |
| & | 和号 | `&` |
| ¥ | 人民币 | `¥` |
| © | 版权 | `©` |
| ® | 注册商标 | `®` |
| °C | 摄氏度 | `°C` |
| ± | 正负号 | `±` |
| × | 乘号 | `×` |
| ÷ | 除号 | `÷` |
| ² | 平方(上标²) | `²` |
| ³ | 立方(上标³) | `³` |