本文参照Markdown中文说明文档介绍了markdown的基本概念和基本语法。
序言
Markdown定义及目标
MarkDown是一种轻量化的、致力于简化排版的标记性语言。
Markdown的目标是实现易读易写,成文一种适用于网络的书写语言。一份使用Markdown格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或时格式指令所构成。
兼容HTML
与html语言的兼容性
MarkDown的诞生并不是要取代HTML,它的语法种类很少,只对应HTML很少的一部分。相较于已经很容易写的HTML,Markdown的理念是,让文档更容易读、写和随意改。
不在Markdown涵盖范围内的标签,都可以使用html撰写,并不需要标注这是HTML或Markdown。
需要注意的只有一些HTML的区块元素,例如<div>、<table>、<pre>、<p>等标签,必须在前后加上空行与其他内容隔开,还要求他们的开始标签和结束标签不能用制表符或空格来缩进。
特殊字符的转义
在HTML中,有两个字符需要特殊处理:<和&。<符号用于起始标签,&符号用于标记HTML实体,如果你想要这些字符的原型,你必须使用实体的形式,像是<和&。
©版权符号
基础语法
区块元素
一个Markdown段落是由一个或多个连续的文本行组成,它的前后要有一个以上空行。普通段落不该用空格和制表符来缩进。如果你确实想依赖Markdown来插入<br />标签的话,请先在插入处按入两个以上的空格,然后按回车。
区块引用Blockquotes
Markdown标记区块引用是使用email中的>的引用方式。
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit.
区块引用可以嵌套:
this is the first level of quoting.
This is nested blockquote.
列表
Markdown支持有序列表和无序列表。
无序列表:符号可以使用-、*、+;有序符号使用数字接着一个英文的句点1.。
列表项目的标记符通常放在最左边,但是其实也可以缩进,最多3个空格。向目标及后面一定要接着至少一个空格或制表符。
代码区块
和程序相关的写作或是标签语言原始码通常会有已经安排好的代码区块,通常这些区块我们不希望它以一般段落文件的方式去排版,而是按照原来的样子显示,Markdown会用<pre>和<code>标签来吧代码区块包起来。
要在markdown中建立代码区块很简单,只要简单地缩进4个空格或是1个制表符就可以了。一个代码块都会持续到没有缩进的那一行或文档结尾。代码区块内的<、&、>会自动转成HTML实体。
分割线
你可以在一行中使用三个以上的星号、减号、底线来建立一个分隔行。
区段元素
链接
Markdown支持两种形式的链接语法:行内式和参考式两种形式。两种方式的链接文字都是用方括号来标记。
行内式:[连接到百度](www.baidu.com "百度搜索")。
如果你是要链接相同主机的资源,你可以说使用相对路径。[连接到本机文档](/about/)。
链接到本文档标签。[链接到文本档锚点](#id)。
参考式:
This is [an example] [id] reference-style link.
[id]:http://ww.baidu.com "百度搜索"
方括号字母数字标识(不区分大小写,可以不写,默认是链接文本)(选择性的用三个以内的空格缩进)
+ 冒号 + 一个以上的空格或制表符 + 链接的网址 + 选择性的title内容(可以另起一行)。
强调
Markdown使用星号(*)和底线(_)作为标记强调的字词的符号。如果你的星号(*)和底线(_)两边都有空白的话,它们就只会被当做普通的符号。
代码
如果要标记一小段行内代码,你可以用反引号把它包起来,如果在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段。
图片
图片的插入与链接相似。语法:


到目前为止,Markdown还不能指定图片的宽和高,如果你需要的话,可以使用普通的标签。
拓展
自动链接
Markdown支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要用方括号包起来,Markdown就会把它转换成链接。例如:http://www.baidu.com。
反斜杠
Markdown可以利用反斜杠来插入一些在语法中的其他意义的符号。
Markdown支持一下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜杠
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括号
# 井号
+ 加号
- 减号
. 英文句点
! 惊叹号