Why markdown?
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、
MultiMarkdown、 Maruku等。这些衍生版本要么基于工具,如Pandoc;要么基于网站,如GitHub和Wikipedia,在语法上基本兼容,但在一些语法和渲染效果上有改动。
- Baidu Baike
上述内容告诉你,Markdown是一种标记语言,再粗暴一点说,就是排版用的,再再粗暴一点,就是如何让你看起来如同记事本一般平淡的文本能够变得花里胡哨。
偷偷告诉你:这篇文章就是用Markdown写的。
标记语言??我知道HTML啊,有什么区别么??
他俩啥关系
Markdown是基于HTML所开发的,与HTML不同的是,Markdown(以下简称MD)并不受W3C基金会管理,但本身也是开放的。
Markdown允许内嵌HTML代码(尽管不完全支持HTML标准下的所有标签,这是出于安全考虑,而且这也不是倡用的行为),而在网页显示的时候这些Markdown语法也会被转换成对应的HTML标记文本显示在你的面前。
但是现在的Markdown并不只限于可以转换为HTML,新的技术(Pandoc)标明他们实际上还可以转换成doc或者pdf之类的……
他俩谁好用
这不是一个可以很快下定论的东西,无所谓谁更好或者更糟,如果Markdown和HTML真能像这样一较高下的话恐怕另一个也就不复存在了不是。
他们两个的面向是不同的,HTML专注于一种通用的,能够在各个设备上在一定的文本协议(HTTP/HTTPS)下正确的进行显示,所以论强大的话,HTML可以支持更加花哨强大的功能,但是相对应的,使用起来就要繁琐一些,并且具备一个相当庞大的语法标准和一些协议性的说明。
而Markdown则是面向于快速标记的,而且对程序员非常友好(因为本身针对代码的排版做了相关的处理,可比HTML的<code>
再配上一堆乱七八糟的CSS方便多了),因此广受IT行业的青睐,不仅如此,最近的Markdown甚至可以支持部分LATEX语法(当然主要用于写数学公式用,而另一方面用于HTML的MathML似乎没能推广起来的样子)
所以简单来说,Markdown比HTML用起来快,但HTML具有Markdown无法替代的功能。
Markdown 用起来有多快??看看下面这段话就知道了:
万维网联盟创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南
Markdown:
*万维网联盟*创建于**1994**年,是Web技术领域**最具权威**和**影响力**的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南
HTML:
<p><i>万维网联盟</i>创建于<b>1994</b>年,是Web技术领域<b>最具权威</b>和<b>影响力</b>的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南<br /></p>
据上述内容统计,当输入一个HTML标签的时候,你需要按下若干次的Shift+,+Shift+.+←[+/]+标签键位,而在Markdown里至多只需要若干次的Shift+8而已,根据时间复杂度o(n)的分析和人体工学的相关……
How?
本人的资历尚浅,即便如此自己还是能希望通过自己绵薄的力量帮助大家快速上手,自己从大二开始经常使用Markdown记录笔记,因此用的还算方便和熟练。因此这里针对一些非常非常常用的功能
标题文本(是的,这个恰恰就是个标题文本)
标题文本一般用#
开始,#
的数量决定标题的等级,这和HTML里面的<h1>
到<h6>
多少有些类似,尽管Markdown的最终渲染结果取决于各服务器提供的CSS文件但一般来说,层级越高(##...## Title
)的标题通常字会越小作为副标题使用。
比如,这段的标题实际上就是这么写的
## 标题文本
是的,根据井号的数量来看,这是个二级标题。
如没有特殊规定,一般标题最大支持到六级(正好对应HTML的<h6>
)
在有些Markdown系统下,#
可以(甚至会要求)成对出现
## 标题文本 ##
但是博客园里的没做这种要求
标题属于行级格式,因此标题只能出现于一行的行首,而不允许在行的中间或结尾出现,而且当某一行被标注为标题的时候,整个一行的文字都会变成标题的格式。位于行中间的井号会被真的处理为#
位于分割线上方的文本会被自动处理为标题
粗体、斜体、粗斜体
身正不怕影子斜
正是这样,Markdown提供了一种非常快速方式进行这种文字版式的替换,使用若干个成对的*
完成:
一对*
是斜体(*斜体*
)(不知何种原因,博客园的MD编辑器似乎不支持斜体,自然,粗斜体也会同样变成粗体)
两对*
是粗体(**粗体**
)
我想又粗又斜怎么办,很简单,1+2=3(***粗斜***
)
不幸的是,Markdown语法里并未提供下划线,尽管如此可以通过内嵌HTML的<u>
标签来实现。
引用
著名的作家鲁迅先生曾经在这里说了很多的东西,比如“我从来没说过这句话”……
引用在Markdown里由一个>
开始,值得注意的是,引用是一个块级结构,这意味着引用不会对文段的一部分进行修饰,而是直接作用于一整个文段
如果想要让后文内容脱离引用,则在引用内容的最后一行与非引用内容的第一行之间加个回车比如:
鲁迅说过:……
鲁迅没说过……
用Markdown写出来就是:
> 鲁迅说过:……
鲁迅没说过……
但如果是
> 鲁迅说过:……
鲁迅没说过……
就会变成:
鲁迅说过:……
鲁迅没说过……
和标题类似,引用也可以通过增加>
的数量进行嵌套引用:
鲁迅先生曾经说过
世界上本没有路,走的人多了,便成了路
引用内的文段一样可以加上其他的格式标注,比如:
鲁迅先生强调过:真的
勇士猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血。
表格
0 | VS | 0 |
---|---|---|
○ | × | ○ |
○ | ○ | × |
× | × | ○ |
住手!!你们住手!!不要再下啦!!
Markdown提供了一个非常简单的关于表格的格式支持,尽管这原本并不存在于最初的Markdown语法集当中,Markdown对于表格功能上的支持是无法与HTML的<table>
标签抗衡的,因为它支持最完整的表格,也只有这种格式:
表头1 | 表头2 | 表头3 |
---|---|---|
左对齐的文本 | 居中的文本 | 右对齐的文本 |
左对齐 | 居中 | 右对齐 |
左对齐 | 居中 | 右对齐 |
只有表格的第一行可以作为表头使用,其他的项只能作为普通的元组使用,表格是向下排开的,所以想写横向表格的话也不是一个很好的选择,和引用类似,表格也是一个块级结构,而表格要求在其前后都要有一个回车,否则内容不被视为表格,表格的基本语法如下(这恐怕是Markdown里最麻烦的语法格式了):
上一段文本……
|表头1|表头2|表头3|
|:---|:---:|---:|
|左对齐的文本|居中的文本|右对齐的文本|
|左对齐|居中|右对齐|
|左对齐|居中|右对齐|
下一段文本
第一行作为表头使用表头的格式与表格其他项会略有不同,他的字更粗而且他所在的单元格与其他的单元格长得也略有不同。
第二行那个很像火星文的东西用于指定整列的对齐方式,横线的数量不限,冒号确定文本的对齐锚点位置,表示如下含义:
|:---|:---:|---:|
左 中 右
并不一定非要指定成这个样子,也可以全是左的,也可以全是右的……总之是这样。
后面的行就是普通的表格项了,以|
分割,不限于3列,可以更多,每列用|
分割
原文地址:https://www.cnblogs.com/oberon-zjt0806/p/10656720.html