# Markdown

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

## 语法规范

YDoc 使用了 CommonMark 语法规范

## 为什么要使用它

- 它是易读（看起开舒服）、易写（语法简单）、易更改纯文本。处处体现着极简主义的影子。
- 兼容 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

### 图片

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

### 反斜杠`\`

相当于反转义作用。使符号成为普通符号。

### 符号'`'

起到标记作用。如：

> `ctrl+a`

效果：

> `ctrl+a`

### 表格

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

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

效果：

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

配置文件
页面