Markdown是什么
Markdown 是一种完全由标点符号标记的纯文本,这些标点符号被Markdown赋予表达含义以使得文本看上去可以代表特定的语义,比如:#
井号标记代表标题、*
星号标记代表强调、**
两个星号标记代表加粗。
Markdown 设计之初只是让写作文档和阅读文档变得更容易,因Markdown文档所具备的各种天然优势,程序员写文档大多首选Markdown。
Markdown 作为纯文本,没有任何格式化和编码,理论上可以不带文件后缀,但是为了表明一个文档是Markdown类型的文档,一般都将Markdown文档命名带上后缀.md
。
Markdown文档和其他文档的区别
我们日常使用较多的文档类型,比如word、pdf、excel等,这类文档最直接的感受是所见即所得,不过这个所见即所得的前提是,使用了配套的软件打开和查看,这种效果,很多Markdown编辑器打开Markdown文档也可以做到所见即所得,只是word这类的文档,在我们日常生活中,习以为常,变得理所当然了,产生一种错觉,觉得Markdown和其他文档类型在展现形式上有很大区别。
Markdown文档和其他文档最根本的区别在于它是纯文本,不需要格式化和编码,功能也比较单一,没有word那么复杂的功能。
Markdown和HTML的区别
有很多误解,认为Markdown是用于写作web文档的,我个人认为,不过是因为Markdown可以很好的融入web页面的展现形式,又兼具纯文本的优势(比如可被git追踪),被程序员写文档的广泛采用了而已;据说(没有证实)很多作家也会用Markdown来写创作,不过我总觉得一个作家用Markdown写创作,想想一下,这样画风好像有点怪异。
Markdown充分吸取了HTML的标签优势,对于Markdown中未包含的标签, 可以直接使用HTML标签就行,需要注意的是:
1. 对于HTML块级元素
例如<table><pre><p>
等HTML块级元素, 必须另起一行单独放,并且开始和结束标签前面不能有任何缩进,Markdown 会自动识别这些块级元素而不会在他们周围添加额外的渲染<p>
标签:
例如, 在Markdown文件中添加<table>
标签:
这是一个表格:
<table>
<tr>
<td>Foo</td>
</tr>
</table>
备注:我在有一次写文档的时候,突然想在表格里面又添加Markdown标记,结论是不成立的,HTML块级元素中Markdown标签不会被处理,在HTML块级元素中想要处理标记,接直接写HTML标签即可。
2. 对于HTML内联元素
例如<span><img><a>
等HTML内联元素,可以在 Markdown 段落, 列表项, 标题中任意使用,甚至可以使用 HTML 标签替代 Markdown 的标记,例如:可以用 HTML图片标签<img>
替代 Markdown 的图片标记![]()
备注:不同于HTML块级元素, Markdown语法可以在HTML内联元素中被解析