Markdown语法
Markdown由Aaron Swartz和John Gruber共同设计
- Aaron Swartz的博客:http://www.aaronsw.com/
- John Gruber的博客: https://daringfireball.net/
作者中的Aaron Swartz是天才程序员,著名社交网站Reddit的联合创始人,14岁参与RSS 1.0规格标准的制订,致力于网络信息开放。在2011年7月19日,因被指控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕,2013年1月自杀身亡,年仅26岁。
Markdown的优点很多,下面稍微列举一下
- 易读(看起开舒服)、易写(语法简单)、易更改(纯文本),处处体现着极简主义的影子。
- 兼容HTML,可以转换为HTML格式发布。
- 跨平台使用。
- 越来越多的网站支持Markdown。
具体的Markdown语法主要分为如下几部分:标题,段落,引用,代码块,列表,加粗与斜体,分割线与删除线,链接,图片。
1. 基础语法
标题
标题的定义有两种形式
使用
=
和-
标记一级和二级标题。一级标题使用
=========
二级标题使用---------
使用
#
,可表示1-6级标题。# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
注:一般习惯从二级标题开始使用,因为一级标题对于多数文章来说,字体都显得有点过大
段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)。
引用
在段落的每行或者只在第一行使用符号>
,如
|
|
效果:
区块引用
代码块
在每行起始添加4个空格或者一个制表符,注意要和普通段落间存在空行。最常用围墙式代码块,即使用 3 个连续的反单引号把一段文字包围起来表示代码块,这样可以避免每行代码开头都添加 4 个空格,写法如下
|
|
使用围墙式代码块还有有个额外的功能:可以指定编程语言类别,让其中的代码实现语法高亮,方法是在第一行反单引号后面写上语言种类的名称,写法如下
|
|
效果如下:
|
|
行内也可以对较短的字符标记代码,方法是使用两个反单引号,比如
|
|
效果为:
行中短代码
高亮
列表
使用·
、+
、或-
标记无序列表,符号后需添加一个空格才能继续书写文字
- 第一项
- 第二项
使用数字并辅以.
标记有序列表,
- 第一项
- 第二项
- 第三项
加粗与斜体
在强调内容两侧分别加上*
或者_
,一个符号为斜体,两个为粗体,如:
|
|
效果:
斜体
粗体,粗体
分割线和删除线
分割线最常使用就是三个或以上-
,还可以使用*
和_
。删除线则是句子前后加两个波浪号~~
链接
链接可以由两种形式生成:行内式和参考式。
行内式语法为:
|
|
效果:
参考式语法为:
|
|
效果:
图片
添加图片的形式和链接相似,只需在链接的基础上前方加一个!
。如文章开头Azron Swartz图片使用如下语句
|
|
2. 扩展语法
除以上基本语法外,还有一些常用扩展语法,主要是因为在一些特定场景下某些需求无法满足,其中有一些如待办事项和表格等使用非常频繁,因此在这里介绍,其它少用的扩展语法在其它文章里介绍。
待办事项
使用- [ ]
和- [x]
,效果如下
- 未选
- 已选
反斜杠\
相当于反转义作用,使Markdown语法符号成为普通符号。
表格
用|
表示表格纵向边界,表头和表内容用-
隔开,并可用:
进行对齐设置,两边都有:
则表示居中,若不加:
则默认左对齐。
|
|
以上语句效果如下
姓名 | 角色 |
---|---|
书藏 | 作者 |
缩进
修改代码块的缩进,方法是选择多行代码,然后按 Tab
键增加缩进,按 Shift + Tab
键减少缩进。
文字的缩进有两种办法
- 使用表示空格的特殊字符
或 
- 输入法半角改全角,然后连续键入两个空格(半角改全角的快捷键为
Shift+Space
)
Emoji
Emoji是否支持要看主题,github是肯定支持的。关于emoji符号查找表可以查看emoji cheat sheet
数学公式
公式的语法规则基本和Latex相同,可参见常用数学符号的 LaTeX 表示方法
主要也分为行内和区块两种,行内公式使用单个美元符$
包围,区块使用两个美元符,比如
|
|
效果如下(当然还要看渲染引擎是否支持,本博客支持显示数学公式)
$2^2$
$$ \frac{2}{3} $$
特殊字符
不论是对公式的编辑,还是平时的使用,经常会遇到一些数学符号、希腊字母等特殊的字符,这些字符可以直接键入其命名实体或十进制代码而无需转义符\
包含就能显示,对照表见文末,一个简单的例子如下。
|
|
效果为Φ
注1:命名实体和十进制编码后的分号是整体的一部分,不是分隔符
注2:有需要参考更多的 Markdown基础语法 和 Markdown扩展语法
3. HTML语法辅助
由于书写的文本最终还是要转换成HTML页面,所以实际上可以使用一些HTML的语法来辅助书写
插入空行
使用</br>
可以替代作为空行插入
文字居中
写法如下
|
|
效果如下
写法如下
|
|
效果如下
H2O
爆米TM
字体颜色与字号
写法如下
|
|
效果如下
红色 size=6 size=5的红色
图片
原始图片规格不一,展示出来的效果往往很不好,使用HTML的语法可以定制图片的某些属性。以上面的创始人Aaron Swartz的图片为例,我们控制其大小
|
|
通过将多张图片放在一个一行多列的表格中,线宽设置为0, 可以让这些图片并排显示,代码如下
|
|
效果如下
页内跳转
先定义一个锚
|
|
然后使用markdown语法即可跳转到锚所在之处
|
|
比如数学公式部分点击文末可以跳转到附录
附录:特殊字符对照表
普通字符
特殊符号 | 命名实体 | 十进制编码 |
---|---|---|
空格 | |   |
全角空格 |   |   |
’ | ' | ' |
" | " | " |
( | — | ( |
) | — | ) |
< | < | < |
> | > | > |
[ | — | [ |
] | — | ] |
{ | — | { |
} | — | } |
´ | ´ | ´ |
° | ° | ° |
® | ® | ® |
© | © | © |
数学符号
特殊符号 | 命名实体 | 十进制编码 |
---|---|---|
≤ | ≤ | ≤ |
≥ | ≥ | ≥ |
≈ | ≈ | ≅ |
≠ | ≠ | ≠ |
∩ | ∩ | ∩ |
∪ | ∪ | ∪ |
∠ | ∠ | ∠ |
∞ | ∞ | ∞ |
± | ± | ± |
√ | √ | √ |
∑ | ∑ | − |
∫ | ∫ | ∫ |
Δ | Δ | Δ |
希腊字母
特殊符号 | 命名实体 | 十进制编码 |
---|---|---|
Φ | Φ | Φ |
Ω | Ω | Ω |
α | α | α |
β | β | β |
γ | γ | γ |
δ | δ | δ |
ε | ε | ε |
ζ | ζ | ζ |
η | η | η |
θ | θ | θ |
λ | λ | λ |
μ | μ | μ |
ξ | ξ | ξ |
π | π | π |
ρ | ρ | ρ |
σ | σ | σ |
φ | φ | φ |
ψ | ψ | ψ |
ω | ω | ω |
∂ | ∂ | ∂ |
∅ | ∅ | ∅ |
参考与扩展
2 Set table column width via Markdown
[3] Markdown资源列表