markdown语法速览
[TOC]
markdown概述
- Markdown 的目标是实现「易读易写易改」
- Markdown 语法的目标是:成为一种适用于网络的书写语言。
- Markdown 兼容HTML,HTML区块元素需要前后加空行且标签无制表符或空格来缩进
- 特殊字符自动转换,<(<)、 &(&)
- Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行,两个以上的空格然后回车为强制换行但依然连续
- HTML的元素:
- 区块元素:
<div><table><pre><p>
- 区段元素:
<span><cite><del>
- 区块元素:
区块元素
标题
- 类 Setext 形式是用底线的形式, = (最高阶标题)和 - (第二阶标题)
- 类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,为美观可在行尾加#来闭合
区块引用
- 在每行的最前面加上 >,也可以只在整个段落的第一行最前面加上 >
- 区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 >
- 区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等
列表
- 无序列表使用星号、加号或是减号作为列表标记
- 有序列表则使用数字接着一个英文句点
- 项目标记后面则一定要接着至少一个空格或制表符
- 可以缩进,最多 3 个空格
- 如果列表项目间用空行分开项目内容会用
<p>
标签包起来 - 如果要在列表项目内放进引用,那 > 就需要缩进
- 如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符
- 行首出现数字-句点-空白,可以在句点前面加上反斜杠来转义。
代码区块
- 代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以
- 一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)
分隔线
- 用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。
- 也可以在星号或是减号中间插入空格
区段元素
链接
- 行内式和参考式两种形式,链接文字都是用 [方括号] 来标记
- 在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可
- 可以使用相对路径
- 参考式的链接是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记,在文件的任意处把这个标记的链接内容定义出来
- 链接内容定义的形式为:
- 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
- 接着一个冒号
- 接着一个以上的空格或制表符
- 接着链接的网址
- 选择性地接着 title 内容,可以用单引号、双引号或是括弧包着
- 也可以把 title 属性放到下一行,也可以加一些缩进
- 并不区分大小写
- 参考式的链接其实重点不在于它比较好写,而是它比较好读
强调
- 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 <em> 标签包围,用两个 * 或 _ 包起来的话,则会被转成 <strong>
- 如果你的 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号
- 如果要在文字前后直接插入普通的星号或底线,可以用反斜线
代码
- 用反引号把它包起来(`)
- 如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段
图片
- 一个惊叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字
- Markdown 还没有办法指定图片的宽高
反斜杠
以下这些符号前面加上反斜杠来帮助插入普通的符号
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
自动链接
- 以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样
脚注
Markdown[^1]``[^1]: Markdown是一种纯文本标记语言
题目
- 内容用
[TOC]
且前无空格
公式 {#1}
- 注:1个$左对齐,2个居中
锚点
[公式标题锚点](#1)
### [需要跳转的目录] {#1} // 方括号后保持空格
定义型列表
开头一个
:+
Tab或 四个空格
// 保持空一行与 递进缩进
自动邮箱链接
<xxx@outlook.com>
流程图
st=>start: 开始|past:> http://www.baidu.com // 开始
e=>end: 结束 // 结束
c1=>condition: 条件1:>http://www.baidu.com[_parent] // 判断条件
c2=>condition: 条件2 // 判断条件
c3=>condition: 条件3 // 判断条件
io=>inputoutput: 输出 // 输出
//----------------以上为定义参数-------------------------
//----------------以下为连接参数-------------------------
// 开始->判断条件1为no->判断条件2为no->判断条件3为no->输出->结束
st->c1(yes,right)->c2(yes,right)->c3(yes,right)->io->e
c1(no)->e // 条件1不满足->结束
c2(no)->e // 条件2不满足->结束
c3(no)->e // 条件3不满足->结束
st=>start: 开始|past:> http://www.baidu.com // 开始
e=>end: 结束 // 结束
c1=>condition: 条件1:>http://www.baidu.com[_parent] // 判断条件
c2=>condition: 条件2 // 判断条件
c3=>condition: 条件3 // 判断条件
io=>inputoutput: 输出 // 输出
//----------------以上为定义参数-------------------------
//----------------以下为连接参数-------------------------
// 开始->判断条件1为no->判断条件2为no->判断条件3为no->输出->结束
st->c1(yes,right)->c2(yes,right)->c3(yes,right)->io->e
c1(no)->e // 条件1不满足->结束
c2(no)->e // 条件2不满足->结束
c3(no)->e // 条件3不满足->结束
时序图
A->>B: 你好
Note left of A: 我在左边 // 注释方向,只有左右,没有上下
Note right of B: 我在右边
B-->A: 很高兴认识你
例子
区块元素实例:
-
这是无序列表的二级标题
- 无序列表的分割线
或
引用 多行就多个>
- 多重引用的有序列表
- 多重引用的有序
我是代码区块
好巧啊,我也是!
楼上好,我也是代码块,虽然是单行的
楼上,咱俩都是代码块哦!
* ## 这是无序列表的二级标题
* 无序列表的分割线
***
或
- - -
> 引用 多行就多个\>
> > 1. 多重引用的有序列表
> > 1. 多重引用的有序
我是代码区块
好巧啊,我也是!
`楼上好,我也是代码块,虽然是单行的`
```
楼上,咱俩都是代码块哦!
```
区段元素实例:
强调 斜体 加粗 我也加粗 删除线不明显
[我是百度](http://www.baidu.com "百度TITLE")-- [ 我也是百度 ][bd]---[我还是百度][]
[bd]: http://www.baidu.com "百度参考式TITLE"
[1]: http://www.baidu.com '百度参考式TITLE'
[我还是百度]: http://www.baidu.com (百度参考式(TITLE)
*强调* _斜体_ **加粗** __我也加粗__ ~~删除线不明显~~

$$ x \href{why-equal.html}{=} y^2 + 1 $$
$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $
```
$$ x \href{why-equal.html}{=} y^2 + 1 $$
$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $
```
总结:
分割线用*和-,且不低于三个
无序列表开头用 - + *加空格
有序列表开头用数字加点加空格
列表嵌套多敲三个空格再开头
单行代码用``,多行代码用```独占一行
段落之间空一行,换行加俩空格
标题用#或=或-
表格用|开分隔,数量要对应
另外表格语法:
第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
姓名|技能|排行