前言
一个工具的精通需要的是长期的练习和使用, Markdown 语法也不例外,本文标题意在纠正大家对 Markdown 学习成本的错误高估以及消除大家对其的恐惧感。当然,只是读完本文五分钟还是足够的~
正文
1. Markdown 是什么?
Markdown 是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以
HTML 格式发布。
2. 谁发明了这么个东西?
它由 Aaron Swartz 和 John Gruber 共同设计, Aaron Swartz 就是那位于不久前(2013年1月11日)自杀,有着开挂一般人生经历的程序员。维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人。
3. 为什么要使用它?
- 它易读(看起来舒服)、易写(语法简单)、易更改(纯文本)。处处体现着极简主义的影子。
- 兼容 HTML ,可以转换为 HTML 格式发布。
- 跨平台使用。
- 越来越多的网站支持 Markdown 。
- 更方便清晰的组织你的电子邮件。(Markdown-here, Airmail)
- 摆脱 Word(我不是认真的)。
4. 怎么使用?
如果不算扩展, Markdown 的语法绝对简单到让你爱不释手。
废话太多,下面正文, Markdown 语法主要分为如下几大部分:
标题,段落,区块引用,代码区块,强调,列表,分割线,链接,图片,反斜杠 \
,符号'`'。
4.1 标题
两种形式:
1)使用=
和-
标记一级和二级标题。
一级标题
=========
二级标题
---------
效果:
一级标题
二级标题
(注:本论坛系统不支持此语法)
2)使用#
,可表示1-6级标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
4.2 段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)。
4.3 区块引用
在段落的每行或者只在第一行使用符号>
,还可使用多个嵌套引用,如:
> 区块引用
>> 嵌套引用
效果:
区块引用
嵌套引用
4.4 代码区块
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如:
普通段落:
void main()
{
printf("Hello, Markdown.");
}
代码区块:
void main()
{
printf("Hello, Markdown.");
}
注意:需要和普通段落之间存在空行。
4.5 强调
在强调内容两侧分别加上*
或者_
,如:
*斜体*,_斜体_
**粗体**,__粗体__
效果:
斜体,斜体
粗体,粗体
4.6 删去
在表示被删去的内容两侧分别加上~~
,如:
~~删除线~~
效果:
删除线
4.7 列表
使用·
、+
、或-
标记无序列表,如:
+ 第一项
+ 第二项
+ 第三项
注意:标记后面最少有一个空格或制表符。若不在引用区块中,必须和前方段落之间存在空行。
效果:
有序列表的标记方式是将上述的符号换成数字,并辅以.
,如:
1. 第一项
2. 第二项
3. 第三项
效果:
- 第一项
- 第二项
- 第三项
4.8 分割线
分割线最常使用就是三个或以上*
,还可以使用-
和_
。
4.9 链接
链接可以由两种形式生成:行内式和参考式。
行内式:
[younghz的Markdown库](https://github.com/younghz/Markdown "Markdown")
效果:
younghz的Markdown库
参考式:
[younghz的Markdown库1][1]
[younghz的Markdown库2][2]
[1]:https://github.com/younghz/Markdown "Markdown"
[2]:https://github.com/younghz/Markdown "Markdown"
效果:
[younghz的Markdown库1][1]
[younghz的Markdown库2][2]
(注:本论坛系统不支持此语法)
4.10 图片
添加图片的形式和链接相似,只需在链接的基础上前方加一个叹号!
。如:

效果:
(注:图示为 Markdown 创始人 Aaron Swartz)
4.11 反斜杠\
相当于反转义作用。使符号成为普通符号。
4.12 符号'`'
起到标记作用。如:
`ctrl+a`
效果:
ctrl+a
5. 都谁在用?
Markdown的使用者:
- GitHub
- 简书
- Stack Overflow
- Apollo
- Moodle
- Reddit
- 等等
6. 感觉有意思?趁热打铁,推荐几个工具。
- Chrome 下的 stackedit 插件可以离线使用,很爽。也不用担心平台受限。
在线的 dillinger.io 算是评价好的了,可是不能离线使用。
- Windowns 下目前我在使用 Typora ,感觉挺棒,同时它也是 跨平台 的,其他平台用户也可以尝试一下。
- Mac 下的 Mou 是国人贡献的,口碑很好。推荐。
- Linux 下的 ReText 不错。
其实对语法了然于心的话,直接用纯文本编辑器就可以了,脑子里满满的都是格式化好的文本啊。
注意:不同的 Markdown 解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。
虽然有人想出面搞一个所谓的标准化的Markdown,没想到还惹怒了健在的创始人John Gruber。
以上基本是所有 Traditonal Markdown 的语法。
其它:
列表的使用(非 Traditonal Markdown ):
用|
表示表格纵向边界,表头和表内容用-
隔开,并可用:
进行对齐设置,两边都有:
则表示居中,若不加:
则默认左对齐。
|代码库 |链接 |
|:------------------------------------😐------------------------------------|
|MarkDown | https://github.com/younghz/Markdown|
|moos-young |https://github.com/younghz/moos-young|
(注:本论坛系统不支持此语法)
关于其它扩展语法可参见具体工具的使用说明。
我该在哪里试试它呢?
最简单的就是找一个支持 Markdown 的在线 pastebin 类站点,例如 Github Gist (注:在大陆可能被屏蔽) 。你也可以在这个帖子直接回复测试 Markdown 语法,请直接编辑你的回复做更多测试。注意:不要在此帖外的任何地方发表无意义的语法测试内容!