写在前面(写作原因)Markdown 近两年太火了,以至于 MAC 端 Markdown 编辑器基本上一个月就能新出一款。很多人对Markdown 依旧没有多少了解,这主要体现在两方面: 一方面有些人觉得Markdown是万能的:一看别人推荐什么工具自己就跟着用,一上来就学各种所谓语法;或者自己还没体会一个东西的精髓就到处给别人推荐,别人不用他还生气。 另一方面有些人觉得Markdown是万万不能的:一部分选择固守自己的舒适区域(比如word),不愿意接触,认为学习难度大;另一部分用着更高级的 LaTeX 等其他工具觉得 Markdown 太low,用着丢人。 为了让上述两部分人不本末倒置,能够先脱离那些基本的语法,从一个不同的视角去了解Markdown,所以简单写一些东西。 Markdown诞生历史:Markdown 由 John Gruber 在2004年创建,至今已经是12年的时间。 关于Markdown最初的定义如下: a plain text formatting syntax(注意:是纯文本的语法) a software tool, written in Perl, that converts the plain text formatting to HTML
最初的设计理念: The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.(简单说就是易读)
Mrakdown 有哪些优点通过Markdown的起源和最初的设计理念可知,Markdown最大的一个特点是易读,而另一个特点是易写。 所谓易读绝对不要理解为排版之后呈现出来的结果易读,你认真想一下格式化都完成了,打两个符号和点几下鼠标得到的最终效果是一样的,怎么可能是指格式化后的结果易读呢? 这里的易读是说你读最原始的Markdown文件(也就是以 .md 结尾的文件)非常容易,不会像读 HTML 网页那样满屏幕都是*<尖括号>和各种缩进*(最近正在写网站的我对这一点有很深的体会)。易读的特点,对于要看各种文档的程序员是非常友善的。 所谓易写一方面你可以和类似于office之类的软件去对比,写作的过程中你(基本上)可以脱离对鼠标的依赖。这样就带来了两个好处:你不需要先辛苦码字,然后再辛苦地用鼠标点来点去格式化你的文本;你可以集中精力在文字上,只要你事先有了一个清晰的框架,写作和格式化文本可以一气呵成,如果使用即时呈现的编辑器,那么所见即所得 另一方面你可以和类似于HTML之类的东西去对比,你不需要记住太多和写作无关的tag,也不需要让那一堆尖括号和各种缩进扰乱了自己的写作思路。 除此之外,Markdown 的学习曲线非常平缓,找个介绍语法的网站读半个小时,找个在线编辑器练习一个小时,你就可以比较顺利地运用这种轻量级标记语言。 Markdown 和 HTML 的区别在这里需要强调一下Markdown和HTML的区别。 如果你了解一点前端的知识就应该知道HTML的全称是超文本标记语言(英语:HyperText Markup Language,简称:HTML),所以HTML也是一种文本标记语言。Markdown 的定义是“轻量级”标记语言,而HTML是“超”,所以Markdown是基本不可能取代HTML作用的,你倒是可以把它看成HTML的一个子集。 就工作原理而言,你所写的 Markdown 格式文本,也是最终转换为 HTML 进而在网页上呈现。 Mrakdown 有哪些缺点从辩证的角度看问题,任何一个事物的优点在另一个维度都可能变成它的缺点。 在这里同样如此,因为Markdown 诞生之初就被定义为面向纯文本的语言,所以不管如何进化,插入图片和表格永远都是它的硬伤。优化图片和表格的插入体验也是后来各种编辑器突出的卖点;因为 Markdown 诞生之初就被定义为轻量级的语言,你要知道,即便是对文本而言,也有很多它应付不了的事情。 - 让某一行居中?做不到
- 让某一行右对齐?做不到
- 想更换字体?做不到
- 想改变颜色?做不到
- 想改变布局?做不到
其实不止这些,Markdown 根本就不支持其它和布局格式相关的内容。原因很简单,如上文所述,Markdown 是 HTML 的子集,而和布局格式相关的内容是CSS的本职工作。 和LaTeX的区别如果你不知道什么是LaTeX的话自行百度吧。LaTeX 从它生下来,能定位以及量级和Markdown就都不是一个水平。 LaTeX是一个强大的排版工具,注意,是排版工具。绝大多数高质量的书籍排版或者论文版本,一些逼格很高的简历排版都会使用LaTeX。另外,LaTeX最强大的功能在于其对各种复杂数学公式的支持和呈现。而 Markdown 根本就不能称之为一个排版工具,真正意义上的排版功能它一个没有。虽然它可以定义一个题目(语法是若干个#),但是这个题目放在你页面的左边右边还是中间它不关心。不过,现在已经有很多编辑器支持在Markdown中插入LaTeX语法了。 所以用一句老话总结:革命只有分工不同,没有高低贵贱之分。 没有完全统一的标准这个缺点你可能感受不到,但其实是最大的问题。 比较有趣的是,早些时候多个使用Markdown的互联网巨头联合起来想制订一个统一的标准叫做Standard Markdown。结果这个事儿被创始人知道了,老爷子不开心,说你不能用standard这么官方的名字,因为我就没想让它统一。后来这个计划更名为Common Markdown,对了,这个计划牵头的人就是大名鼎的 Stack Overflow 创始人。 为什么近些年如此火爆首先是因为 Markdown 本身易读易写的特点。 另一方面,一个东西发明出来,如果没人推广那自然就会默默无闻直至灭亡。那么近些年都是谁在推广使用并且支持它呢?Reddit, Github, Stack Overflow, BioStar 等等,**Rstudio **甚至有一套专门的 R Markdown 供使用R语言的人们来运用。如果你了解上面哪怕一个东西目前的火爆程度,都应该可以理解为什么他们使用的 Markdown 会被更多人了解和接受。 此外,有人说21世纪是生命科学的世纪,但目前看起来更像是程序员的世界,程序员在各种社区大量使用Markdown,再加上近几年互联网的发展,火爆也就不足为奇了。 适用于那些群体基于Markdown的优缺点以及火爆的原因,我们可以得出如下的结论,Markdown这套东西比较适合: - 经常阅读书写各种技术文档的技术人员
- 混迹于各种技术论坛和社区的程序猿
- 经常码字并且追求效率和流畅度的文字工作者
- 只求排版简单明了不求过分花哨的网站编辑
- 喜欢分享,爱好写作的博客或者专栏作者
- 喜欢整理各种读书笔记学习笔记的学生党
如果你是上述中的某一类人,笔者推荐你对 Markdown 进行一些基础的学习和应用。你的生活应该会有所改变。 如果不是,那么我想说:任何一个工具即使它再简单再火爆,只要不能提高你的效率或者改善你的体验都请你无视它。 有哪些编辑器可以使用Markdown这里仅仅列举部分我个人体验过的 WindowsTypora(好用且免费) Mac OSUlysses (文字工作者最爱,不仅仅是编辑器且贵) MWeb (国产,完成度高,支持多平台分享,如印象笔记和WordPress) Typora (好用且免费) iOSMWeb (同Mac OS) Bear(免费有内购,不只是编辑器) 锤子便签(免费,易用,全平台) Android锤子便签(免费,易用,全平台) Chrome 插件Markdown Here(神器,免费,可以配合印象笔记使用) 国内写作平台简书 笔记类应用为知笔记(自身支持) 有道云笔记(自身支持) 印象笔记(因为印象本身的设计机制(支持全文及图片内文字搜索)和附件(图片等)存储机制,并不支持,但是原生的各种快捷键已经足够强大。如果你想使用的话,配合马克飞象、Markdown Here 或者 MWeb 使用,效果都很好) 如何学习Markdown一旦你清楚了自己要不要使用Markdown,那么学习它的用法根本就没有什么难度。
|