1. 宗旨
Markdown 语法受到一些既有 text-to-HTML 格式的影响,可以直接以纯文本发布,实现「易读易写」
2. 兼容 HTML
Markdown 语法的目标是:成为一种适用于网络的书写语言
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写
不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了
2.1. hexo中使用
在hexo中加载md文件时,使用的图标来自于 font awesome
2.1.1. to do list
1 | <i class="fa fa-check-square"></i> 已完成 |
已完成
未完成
2.1.2. 下载图标
1 | <i class="fa fa-download"></i> 普通 |
普通
变大 33%
两倍大
2.1.3. 标题样式
1 | <div class="note default"><p>default</p></div> |
default
primary
success
info
warning
danger
2.2. 特殊字符自动转换
Markdown 可以自然地书写字符,需要转换的由它来处理好了
- 版权符号 ©
&cpoy;
- AT&T 会自动转换为
AT&T
- 4 < 5 会自动转换为
4 < 5
3. 区块元素
3.1. 标题
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式
类 Setext 形式是用底线的形式,利用 =
(最高阶标题)和 -
(第二阶标题),任何数量的 =
和 -
都可以有效果
1 | This is an H1 |
类 Atx 形式则是在行首插入 1 到 6 个 #
,对应到标题 1 到 6 阶
1 | # 这是 H1 |
3.2. 区块引用
Markdown 标记区块引用是使用类似 email 中用 >
的引用方式
1 | > This is a blockquote with two paragraphs. |
This is a blockquote with two paragraphs.
区块引用可以嵌套,只要根据层次加上不同数量的 >
1 | > This is the first level of quoting. |
This is the first level of quoting.
This is nested blockquote.
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等
1 | > ## 这是一个标题。 |
3.3. 列表
Markdown 支持有序列表和无序列表
3.3.1. 无需列表
无序列表使用星号、加号或是减号作为列表标记
1 | * red |
- red
- blue
- green
可以用html标记
1 | <ul> |
- red
- blue
- green
3.3.2. 有序列表
有序列表则使用数字接着一个英文句点
1 | 1. red |
- red
- blue
- green
甚至可以用html标记
1 | <ol> |
- red
- blue
- green
3.4. 分隔线
在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西
1 | * * * |
4. 区段元素
4.1. 链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式
不管是哪一种,链接文字都是用 [方括号] 来标记
4.1.1. 行内式
1 | This is [an example](http://example.com/ "Title") inline link. |
This is an example inline link.
如果要链接到同样主机的资源,可以使用相对路径
1 | See my [About](/about/) page for details. |
4.1.2. 参考式
参考式的链接是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记
1 | This is [an example][id] reference-style link. |
链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写
1 | I get 10 times more traffic from [Google] [1] than from |
隐式链接标记功能可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字,要用隐式链接标记只要在链接文字后面加上一个空的方括号
1 | [Google][] |
4.2. 强调
Markdown 使用星号(*
)和底线(_
)作为标记强调字词的符号,被 *
或 _
包围的字词会被转成用 标签包围,用两个*
或_
包起来的话,则会被转成
1 | *斜体* |
如果要在文字前后直接插入普通的星号或底线,可以用反斜线:
1 | \*this text is surrounded by literal asterisks\* |
4.3. 代码
如果要标记一小段行内代码,可以用反引号把它包起来(``),例如:
1 | Use the `printf()` function. |
会产生:
1 | <p>Use the <code>printf()</code> function.</p> |
4.4. 代码块
1 | ```[language] [title] [url] [link-text] |
4.5. 表格
第二行的 ---:
表示了对齐方式,默认左对齐,还有右对齐和居中
1 | |商品|数量|单价| |
商品 | 数量 | 单价 |
---|---|---|
苹果 | 10 | $1 |
电脑 | 1 | $1000 |
4.6. 图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式
4.6.1. 行内式
1 |  |
4.6.2. 参考式
参考式的图片语法:
1 | ![Alt text][id] |
4.7. 自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接
1 | <http://example.com/> |
Markdown 会转为:
1 | <a href="http://example.com/">http://example.com/</a> |
邮址的自动链接也很类似,只是 Markdown 会先做一个编码转换的过程,把文字字符转成 16 进位码的 HTML 实体,这样的格式可以糊弄一些不好的邮址收集机器人,例如:
1 | <address@example.com> |
Markdown 会转成:
1 | <a href="mailto:addre |
在浏览器里面,这段字串(其实是 [address@example.com](mailto:address@example.com)
)会变成一个可以点击的「address@example.com」链接
4.8. 页面内跳转
1 | [点击跳转](#anchor) |
4.9. 反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号
例如:用星号加在文字旁边的方式来做出强调效果,可以在星号的前面加上反斜杠
1 | \*literal asterisks\* |
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
1 | \ 反斜线 |
5. 数学符号
使用 $
表示,其中一个 $
表示在行内,两个 $
表示独占一行
支持 LaTeX 编辑显示支持,访问 MathJax 参考更多使用方法
常用的数学公式在线编译网站 https://latex.codecogs.com/eqneditor/editor.php
1 | $\leqslant$ 小于等于 |
$\leqslant$ $\geqslant$ $\frac{a}{b}$