Markdown 规范¶
作者: kiki
日期: 2017/9/26
基本技巧¶
标题¶
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
类 atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶(可以在行尾加上 #)。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
类 Setext 形式是用下划线的形式,利用 = (最高阶标题)和 - (第二阶标题)(任何数量的 = 和 - 都可以有效果)。
一级标题
========
二级标题
-------
段落¶
空出一行,即可新起一个段落
代码¶
行内代码:用反引号标记行内代码,如
- 单个反引号:
function_name() - 两个反引号:
包含反引号`的代码
- 单个反引号:
代码段,通常编辑器根据代码片段适配合适的高亮方法。
可以用三个反引号包裹一段代码,并指定一种语言。
int test() { return 0; }
也可以使用 4 空格或 1 个制表符缩进,再贴上代码,实现相同的的效果。
int test() { return 0; }
链接¶
- 行内式链接
- 文字链接:方括号(链接名称)+圆括号(链接地址),即
[链接名称](http://链接地址) - 自动链接:Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,尖括号+(链接地址),即
<http://链接地址>
- 文字链接:方括号(链接名称)+圆括号(链接地址),即
- 参考式链接:在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,然后在文件的任意处为标记变量赋值(网址)
列表¶
普通有序列表¶
- 列表前使用[数字+英文句点+空格]
- 可以自动添加数字
- 数字不对显示的时候回自动调整
- 文档开始如果出现
1986. blabla要写成1986\. blabla
列表嵌套¶
列出所有元素:
- 无序列表元素 A
- 元素 A 的有序子列表
- 元素 A 的有序子列表
- 前面加 4 个空格或 1 个制表符
- 无序列表元素 A
列表里的多段换行: 前面必须加 4 个空格或 1 个制表符, 这样换行,整体的格式不会乱
列表里引用:
前面空一行 仍然需要在 > 前面加 4 个空格或 1 个制表符
列表里代码段:
前面加 4 个空格或 1 个制表符,之后按三个`代码语法
表格¶
默认:左对齐 | --- | :---: | ---: |
| 左对齐 | 中间对齐 | 右对齐 | | —– | :—–: | —–: | | col1 | col2 | col3 | | col1,col1 | col2,col2 | col3,col3 | | col1,col1,col1 | col2,col2,col2 | col3,col3,col3 |
高级技巧¶
行内 HTML 元素¶
目前只支持段内 HTML 元素效果,包括 kbd/b/i/em/sup/sub/br 等。现不建议使用 HTML 元素。
符号转义¶
在符号前加反斜杠可以避免被转义。如:
_不想这里的文本变斜体_**不想这里的文本被加粗**
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
公式¶
当需要在编辑器中插入数学公式时,可以使用两个美元符包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如:
$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $$
上述文档原文¶
# Markdown 规范
```text
作者: kiki
日期: 2017/9/26
```
## 编辑器
- Mac
- [Mou](http://25.io/mou/)
- Windows
- [MarkdownPad](http://www.markdownpad.com/)
- [MarkPad](http://code52.org/MarkPadRT/)
- Linux
- [ReText](https://github.com/retext-project/retext)
- Vim+[Vimwiki](http://xbeta.info/vimwiki.htm)
- 在线编辑器
- [markable](https://markable.in/)
- [dillinger](https://dillinger.io/)
- 浏览器插件
- MaDe(chrome)
- [马克飞象](https://maxiang.io/)
- 高级应用
- [Sublime Text 2](http://www.sublimetext.com/2) + [MarkdownEditing](http://ttscoff.github.io/MarkdownEditing/) / [教程](https://lucifr.com/2012/07/12/markdownediting-for-sublime-text-2/)
## 基本技巧
### 标题
Markdown 支持两种标题的语法,类 [Setext](http://docutils.sourceforge.net/mirror/setext.html) 和类 [atx](http://www.aaronsw.com/2002/atx/) 形式。
类 atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶(可以在行尾加上 #)。
```md
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
```
类 Setext 形式是用下划线的形式,利用 = (最高阶标题)和 - (第二阶标题)(任何数量的 = 和 - 都可以有效果)。
```md
一级标题
========
二级标题
-------
```
### 段落
空出一行,即可新起一个段落
### 粗斜体
Markdown 使用星号和下划线作为标记强调字词的符号。
- 一个星号或一个下划线:*斜体* _斜体_
- 两个星号或一个下划线:**粗体** __粗体__
- 三个星号或一个下划线:***粗斜体*** ___粗斜体___
### 代码
- 行内代码:用反引号标记行内代码,如
- 单个反引号:`function_name()`
- 两个反引号:``包含反引号`的代码``
- 代码段,通常编辑器根据代码片段适配合适的高亮方法。
- 可以用**三个反引号**包裹一段代码,并指定一种语言。
```cpp
int test()
{
return 0;
}
```
- 也可以使用 4 空格或 1 个制表符缩进,再贴上代码,实现相同的的效果。
int test()
{
return 0;
}
### 链接
- 行内式链接
- 文字链接:方括号(链接名称)+圆括号(链接地址),即 `[链接名称](http://链接地址)`
- [google](https://translate.google.com/)
- [gmail](https://mail.google.com/mail/u/0/)
- 自动链接:Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,尖括号+(链接地址),即 `<http://链接地址>`
- <https://translate.google.com/>
- <https://mail.google.com/mail/u/0/>
- 参考式链接:在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,然后在文件的任意处为标记变量赋值(网址)
- 隐式链接标记:可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字
- 这个链接用 Google 作为网址变量 [Google][]
- 这个链接用 yahoo 作为网址变量 [Yahoo!][yahoo]
- 链接标记的内容定义的形式为:`[链接文字]: 链接地址 "title"`
- 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
- 接着一个冒号
- 接着一个以上的空格或制表符
- 接着链接的网址(链接网址也可以用尖括号包起来)
- 选择性地接着 title 内容,可以用单引号、双引号或是括弧包着
[Google]: http://www.google.com/ "Hi, Google"
[yahoo]: http://www.yahoo.com/ "Hi, Yahoo"
### 列表
#### 普通无序列表
- 无序列表,文本前使用[减号+空格]
+ 无序列表,文本前使用[加号+空格]
* 无序列表,文本前使用[星号+空格]
#### 普通有序列表
1. 列表前使用[数字+英文句点+空格]
2. 可以自动添加数字
3. 数字不对显示的时候回自动调整
4. 文档开始如果出现 `1986. blabla` 要写成 `1986\. blabla`
#### 列表嵌套
1. 列出所有元素:
- 无序列表元素 A
1. 元素 A 的有序子列表
2. 元素 A 的有序子列表
- 前面加 4 个空格或 1 个制表符
2. 列表里的多段换行:
前面必须加 4 个空格或 1 个制表符,
这样换行,整体的格式不会乱
3. 列表里引用:
> 前面空一行
> 仍然需要在 > 前面加 4 个空格或 1 个制表符
4. 列表里代码段:
```前面加 4 个空格或 1 个制表符,之后按三个`代码语法```
### 表格
默认:左对齐 `| --- | :---: | ---: |`
| 左对齐 | 中间对齐 | 右对齐 |
| ----- | :-----: | -----: |
| col1 | col2 | col3 |
| col1,col1 | col2,col2 | col3,col3 |
| col1,col1,col1 | col2,col2,col2 | col3,col3,col3 |
### 引用
#### 普通引用
> 引用前使用[大于号+空格]
换行可以不加
> 新起一行需要加上
#### 引用嵌套引用
> 最外层引用
> > 多一个[大于号+空格]嵌套一层引用
> > > 可以嵌套很多层
#### 引用嵌套列表
> - 这是引用里嵌套的一个列表
> - 还可以有子列表
> - 子列表需要从[减号、加号、星号]之后延后 4 个空格或 1 个制表符开始
### 图片
跟链接的方法区别在于前面加了个感叹号。行内式的图片语法 ``:


### 分隔符
在新起一行输入三个减号、星号、下划线,即可实现分割线。当前后都有段落时,请空出一行。
段落 1 (三个减号)
---
段落 2 (三个星号)
***
段落 3 (三个下划线)
___
## 高级技巧
### 行内 HTML 元素
目前只支持段内 HTML 元素效果,包括 kbd/b/i/em/sup/sub/br 等。现不建议使用 HTML 元素。
### 符号转义
在符号前加反斜杠可以避免被转义。如:
\_不想这里的文本变斜体\_
\*\*不想这里的文本被加粗\*\*
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\\ 反斜线
\` 反引号
\* 星号
\_ 下划线
\{\} 花括号
\[\] 方括号
\() 括弧
\# 井字号
\+ 加号
\- 减号
\. 英文句点
\! 惊叹号
### 公式
当需要在编辑器中插入数学公式时,可以使用两个美元符包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如:
$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $$
### 脚注
Markdown 官网[^markdown]
[^markdown]: <https://daringfireball.net/projects/markdown/>
## 文档规范
统一使用下面的规范。
- 标题用\#,右边的\#不加
- 行内代码:单个或两个反引号
- 代码段:三个反引号
- 无序列表、段落分割线:减号(不使用加好和星号)
- 粗体/斜体/粗斜体:星号(不使用下划线)
图片名称
夏目友人帐__2