Markdown 是一种轻量级 标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTML格式发布。
Markdown 也可以理解为将以MARKDOWN语法编写的语言转换成HTML内容的工具。
它由Aaron Swartz和 John Gruber 共同设计,Aaron Swartz 就是那位于(*2013年1月11日*)自杀,有着 开挂 一般人生经历的程序员。维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人。
他有着足以让你跪拜的人生经历:
如果不算 扩展,Markdown的语法绝对 简单 到让你爱不释手。
Markdown语法主要分为如下几大部分:
标题,段落,区块引用,代码区块,强调,列表,分割线,链接,图片,反斜杠 \
,符号'`'。
使用#
,可表示1-6级标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用 两个以上 空格加上回车(引用中换行省略回车)。
在段落的每行或者只在第一行使用符号>
,还可使用多个嵌套引用,如:
> 区块引用
>> 嵌套引用
效果:
区块引用
嵌套引用
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如
普通段落:
void main()
{
printf("Hello, Markdown.");
}
代码区块:
void main()
{
printf("Hello, Markdown.");
}
注意:需要和普通段落之间存在空行。
在强调内容两侧分别加上*
或者_
,如:
*斜体*,_斜体_
**粗体**,__粗体__
效果:
*斜体*,斜体
粗体,粗体
使用·
、+
、或-
标记无序列表,如:
-(+*) 第一项 -(+*) 第二项 - (+*)第三项
!!! tip
标记后面最少有一个_空格_或_制表符_。若不在引用区块中,必须和前方段落之间存在空行。
效果:
- 第一项
- 第二项
- 第三项
有序列表的标记方式是将上述的符号换成数字,并辅以.
,如:
1 . 第一项
2 . 第二项
3 . 第三项
效果:
- 第一项
- 第二项
- 第三项
分割线最常使用就是三个或以上*
,还可以使用-
和_
。
链接可以由两种形式生成:行内式和参考式。
行内式:
[链接文字](https:://github.com/younghz/Markdown "Markdown")。
效果:
链接文字。
参考式:
[链接文字1][1]
[链接文字2][2]
[1]:https:://github.com/younghz/Markdown "Markdown"
[2]:https:://github.com/younghz/Markdown "Markdown"
效果:
注意:上述的[1]:https:://github.com/younghz/Markdown "Markdown"
不出现在区块中。
添加图片的形式和链接相似,只需在链接的基础上前方加一个!
。
\
相当于 反转义 作用。使符号成为普通符号。
起到标记作用。如:
`ctrl+a`
效果:
ctrl+a
当然,最终境界永远都是笔下是语法,心中格式化 :)。
!!! tip
不同的Markdown解释器或工具对相应语法(扩展语法)的解释效果不尽相同,具体可参见工具的使用说明。
虽然有人想出面搞一个所谓的标准化的Markdown,[没想到还惹怒了健在的创始人John Gruber]
(http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/ )。
用|
表示表格纵向边界,表头和表内容用-
隔开,并可用:
进行对齐设置,两边都有:
则表示居中,若不加:
则默认左对齐。
代码库 | 链接 |
---|---|
MarkDown | https://github.com/younghz/Markdown |
MarkDownCopy | https://github.com/younghz/Markdown |
关于其它扩展语法可参见具体工具的使用说明。