# Markdown

Markdown 是一种轻量级标记语言，它以纯文本形式(*易读、易写、易更改*)编写文档，并最终以 HTML 格式发布。Markdown也可以理解为将以 MARKDOWN 语法编写的语言转换成 HTML 内容的工具。 

## 语法规范

YDoc 使用了 [CommonMark 语法规范](https://spec.commonmark.org/)

## 为什么要使用它
* 它是易读（看起开舒服）、易写（语法简单）、易更改**纯文本**。处处体现着**极简主义**的影子。
* 兼容 HTML，可以转换为 HTML 格式发布。
* 跨平台使用。
* 越来越多的网站支持 Markdown。
* 更方便清晰的组织你的电子邮件。（Markdown-here, Airmail）
* 摆脱 Word（我不是认真的）。

如果不算扩展，Markdown 的语法绝对简单到让你爱不释手。

Markdown 语法主要分为如下几大部分： 标题，段落，区块引用，代码区块，强调，列表，分割线，链接，图片，反斜杠 \，符号'`'，表格。


### 标题

使用`#`，可表示1-6级标题。
> \# 一级标题   
> \## 二级标题   
> \### 三级标题   
> \#### 四级标题   
> \##### 五级标题   
> \###### 六级标题    

效果：
> # 一级标题   
> ## 二级标题   
> ### 三级标题   
> #### 四级标题   
> ##### 五级标题   
> ###### 六级标题


### 段落
段落的前后要有空行，所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用**两个以上**空格加上回车（引用中换行省略回车）。


### 区块引用
在段落的每行或者只在第一行使用符号`>`,还可使用多个嵌套引用，如：
> \> 区块引用  
> \>> 嵌套引用  

效果：
> 区块引用  
>> 嵌套引用


### 代码区块
代码区块的建立是在每行加上4个空格或者一个制表符（如同写代码一样）。如    
普通段落：

void main()    
{    
    printf("Hello, Markdown.");    
}    

代码区块：

    void main()
    {
        printf("Hello, Markdown.");
    }

**注意**:需要和普通段落之间存在空行。

### 强调
在强调内容两侧分别加上`*`或者`_`，如：
> \*斜体\*，\_斜体\_    
> \*\*粗体\*\*，\_\_粗体\_\_

效果：
> *斜体*，_斜体_    
> **粗体**，__粗体__

### 列表
使用`·`、`+`、或`-`标记无序列表，如：
> \-（+\*） 第一项
> \-（+\*） 第二项
> \- （+\*）第三项

**注意**：标记后面最少有一个 __空格__ 或 __制表符__ 。若不在引用区块中，必须和前方段落之间存在空行。

效果：
> + 第一项
> + 第二项
> + 第三项

有序列表的标记方式是将上述的符号换成数字,并辅以`.`，如：
> 1 . 第一项   
> 2 . 第二项    
> 3 . 第三项    

效果：
> 1. 第一项
> 2. 第二项
> 3. 第三项

### 分割线
分割线最常使用就是三个或以上`*`，还可以使用`-`和`_`。

### 链接
链接可以由两种形式生成：**行内式**和**参考式**。    
**行内式**：
> \[url\]\(https:://github.com/ymfe "Markdown"\)。

效果：
> [url](https:://github.com/ymfe "Markdown")


### 图片
添加图片的形式和链接相似，只需在链接的基础上前方加一个`!`。

### 反斜杠`\`
相当于**反转义**作用。使符号成为普通符号。

### 符号'`'
起到标记作用。如：
>\`ctrl+a\`

效果：
>`ctrl+a`    

### 表格

用`|`表示表格纵向边界，表头和表内容用`-`隔开，并可用`:`进行对齐设置，两边都有`:`则表示居中，若不加`:`则默认左对齐。

```markdown
|key          | value |
|:-----------:|------ |
|title        | ydoc  |
|content      | ydoc  |

```

效果：

|key          | value |
|:-----------:|------ |
|title        | ydoc  |
|content      | ydoc  |
