概述
1. 宗旨
- Markdown的目标是 实现「易读易写」,成为一种适用于网络的书写语言。
- Markdown的理念是 能让文档更容易读、写和随意改。
- Markdown 的格式语法只涵盖纯文本可以涵盖的范围。其撰写的文件应该可以直接以纯文本发布,且看起来不会像是由许多标签或是格式指令所构成。
2. 兼容 HTML
- HTML 是一种发布的格式,Markdown 是一种书写的格式。
- 不在Markdown涵盖范围之内的标签,都可以直接在文档里面用HTML撰写。不需要额外标注这是HTML 或是 Markdown;只要直接加标签就可以了。
- 要制约的只有一些 HTML 区块元素――比如
<div><table><pre><p>
等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 不会在 HTML 区块标签外加上不必要的<p>
标签。 - Markdown格式语法在HTML 区块标签中将不会被处理;在 HTML 区段标签间会被处理。
HTML的区段/行内 标签如
<span><cite><del>
可以在Markdown的段落、列表或是标题里随意使用。示例:
这是另一个普通段落。 <table> <tr> <td>*Foo*</td> </tr> </table> 这是另一个普通段落。
输出为:
这是一个普通段落
*Foo* 这是另一个普通段落。
区块元素
1. 段落和换行
- 一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行[暗示了 Markdown 允许段落内的强迫换行(插入换行符),其他text-to-HTML格式则会把每个换行符转换成
<br />
标签]。 - 普通段落不该用空格或制表符来缩进。
- 若确实想要依赖 Markdown 来插入
<br />
标签的话,在插入处先按入两个以上的空格然后回车。
2. 标题
- 底线形式:任何数量都可以实现标题效果
- =[最高阶标题]
- -[二阶标题]:
- 示例:
顶级标题示例
===========
二级标题示例
-----------
- 示例:
1-6个#,加空格,对应1-6阶标题
三阶标题示例
四阶标题示例
闭合五阶标题,仅为美观,取决于行行首个数
3. 区块引用
自己先断好行,然后在每行的最前面加上
>
> 人生得意须尽欢, > 莫使金樽空对月. > 天若有情天亦老, > > 人间正道是沧桑 > 李白
人生得意须尽欢,
莫使金樽空对月.
天若有情天亦老,人间正道是沧桑
李白允许只在整个段落的第一行最前面加上
>
> 人生得意须尽欢, 莫使金樽空对月. 天若有情天亦老, 李白
人生得意须尽欢,
莫使金樽空对月.
天若有情天亦老,
李白区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :
> 人生得意须尽欢, > >>天若有情天亦老, > >李白.
人生得意须尽欢,
天若有情天亦老,
李白.
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
> ###这是一个标题。 > 1. 这是第一行列表项。 > 2. 这是第二行列表项。 > > 给出一些例子代码: > System.out.println("代码例子")
这是一个标题。
- 这是第一行列表项。
- 这是第二行列表项。
给出一些例子代码:
System.out.println(“代码例子”)
4. 列表
有序列表:直接使用数字表示,列表标记上使用的数字不影响输出的HTML结果
- Item1
- Item2
- Item3
示例:
- Item1
- Item2
- Item3
- 无序列表:*/+/-加上一个空格,与有序列表无区别
- 列表项目标记通常是放在最左边,但是也可以缩进最多 3 个空格,项目标记后面至少一个空格或制表符。
- 如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用
<p>
标签包起来 - 列表项包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符
- 如果要在列表项目内放进引用,那 > 就需要缩进
- 如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符
5. 代码区块
- 要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以。一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。
- 代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号
6. 分隔线
在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。也可以在星号或是减号中间插入空格。
区段元素
1. 链接
行内式链接
语法:
其他文字[链接文字](URL "链接的Title文字")其他文字
如果要链接到同一主机的资源,可以使用相对路径
参考式链接
语法:
2. 强调
_斜体文字_
:斜体文字
*斜体文字*
:斜体文字
**粗体文字**
:粗体文字
***粗斜体***
:粗斜体
3. 代码
- 使用反引号标记一小段行内代码 `code` :
System.out.println();
- 在代码区插入反引号`:
- 多个反引号来开始/结束代码区段 ` ` code`code ` `:
code`code
- 代码区段起始&结束端放入一个空白,用于在一开始插入:` ` `code` ` ` :
`code`
- 代码区段内,&和<>都会被自动转成HTML实体,易于插入HTML源代码
- 多个反引号来开始/结束代码区段 ` ` code`code ` `:
4. 图片
- 行内式
![图片描述](URL)
![图片描述](URL "Title")
- 参考式
![图片描述][id]
[id]: URL "Title"
5. 表格
| 姓名 | 年龄 | 性别 |
|:----:|:----| ----:|
|纪 | 18 | 男 |
|纪 | 18 | 男 |
姓名 | 年龄 | 性别 |
---|---|---|
纪 | 18 | 男 |
纪 | 18 | 男 |
其它
1. 自动链接
MarkDown支持处理简短的网址和电子邮件信箱,只要用<>括号包起来,就能自动转换成链接。
网址<http://www.baidu.com>
:http://www.baidu.com
邮箱<1595486364@qq.com>
:<1595486364@qq.com>
输出HTML时,MarkDown将上述链接自动转换成
<a href="http://www.baidu.com/">http://www.baidu.com/</a>
<a href="mailto:1595486364@qq.com">1595486364@qq.com</a>
2. 反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号:\#
将输出#
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
脚注
用 [^footName] [^footName]: 脚注内容
生成脚注
脚注的内容总是在文章的末尾1
参考文档
目录
用 [TOC]
自动生成文章目录2