首页 > 清河洛 > Markdown简介
2018
05-08

Markdown简介

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

Markdown语法受到一些既有text-to-HTML格式的影响,包括Setext、atx、Textile、reStructuredText、Grutatext和EtText,而最大灵感来源其实是纯文本电子邮件的格式。

宗旨:Markdown的目标是实现易读易写。

可读性,无论如何,都是最重要的。一份使用Markdown格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。

Markdown旨在简洁、高效,也由于Markdown的易读易写,人们用不同的编程语言实现了多个版本的解析器和生成器,这就导致了目前不同的Markdown工具集成了不同的功能(基础功能大致相同),例如流程图与时序图,复杂表格与复杂公式的呈现,虽然功能的丰富并没有什么本质的缺点,但终归有些背离初衷,何况在编写的过程中很费神,不如使用专业的工具撰写来的更有效率。当然,如果你对折腾这些不同客户端对Markdown的定制所带来高阶功能感到愉悦的话,那也是无可厚非的。

兼容HTML:Markdown语法的目标是成为一种适用于网络的书写语言。

Markdown不是想要取代HTML,甚至也没有要和它相近,它的语法种类很少,只对应HTML标记的一小部分。Markdown的构想不是要使得HTML文档更容易书写。Markdown的理念是,能让文档更容易读、写和随意改。HTML是一种发布的格式,Markdown是一种书写的格式。就这样,Markdown的格式语法只涵盖纯文本可以涵盖的范围。

不在Markdown涵盖范围之内的标签,都可以直接在文档里面用HTML撰写。不需要额外标注这是HTML或是Markdown,只要直接加标签就可以了。

要制约的只有一些HTML区块元素――比如<div>、<table>、<pre>、<p>等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown的生成器有足够智能,不会在HTML区块标签外加上不必要的<p>标签。

注意,在HTML区块标签间的Markdown格式语法将不会被处理,会没有效果

HTML的区段(行内)标签如<span>、<cite>、<del>可以在Markdown的段落、列表或是标题里随意使用。依照个人习惯,甚至可以不用Markdown格式,而直接采用HTML标签来格式化。举例说明:如果比较喜欢HTML的<a>或<img>标签,可以直接使用这些标签,而不用Markdown提供的链接或是图像标签语法。和处在HTML区块标签间不同,Markdown语法在HTML区段标签间是有效的。

特殊字符自动转换

在HTML文件中,有两个字符需要特殊处理:<和&。<符号用于起始标签,&符号则用于标记HTML实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是&lt;和&amp;。

Markdown让你可以自然地书写字符,需要转换的由它来处理好了。如果你使用的&字符是HTML字符实体的一部分,它会保留原状,否则它会被转换成&amp;。

所以你如果要在文档中插入一个版权符号©,你可以写&copy; Markdown会保留它不动。

而若你写AT&T,Markdown就会将它转为AT&amp;T

类似的状况也会发生在<符号上,因为Markdown允许兼容HTML,如果你是把<符号作为HTML标签的定界符使用,那Markdown也不会对它做任何转换,但是如果你写4<5Markdown将会把它转换为:4&lt;5

不过需要注意的是,code范围内,不论是行内还是区块,<和&两个符号都一定会被转换成HTML实体,这项特性让你可以很容易地用Markdown写HTMLcode(和HTML相对而言,HTML语法中,你要把所有的<和&都转换为HTML实体,才能在HTML文件里面写出HTMLcode。)

 

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。