关于 Markdown 你应该知道的

关于 Markdown 你应该知道的

关于Markdown,你应该知道的

写在前面(写作原因)

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

这里仅仅列举部分我个人体验过的

Windows

Typora(好用且免费)

Mac OS

Ulysses (文字工作者最爱,不仅仅是编辑器且贵)

MWeb (国产,完成度高,支持多平台分享,如印象笔记和WordPress)

Typora (好用且免费)

iOS

MWeb (同Mac OS)

Bear(免费有内购,不只是编辑器)

锤子便签(免费,易用,全平台)

Android

锤子便签(免费,易用,全平台)

Chrome 插件

Markdown Here(神器,免费,可以配合印象笔记使用)

国内写作平台

简书

笔记类应用

为知笔记(自身支持)

有道云笔记(自身支持)

印象笔记(因为印象本身的设计机制(支持全文及图片内文字搜索)和附件(图片等)存储机制,并不支持,但是原生的各种快捷键已经足够强大。如果你想使用的话,配合马克飞象、Markdown Here 或者 MWeb 使用,效果都很好)

如何学习Markdown

一旦你清楚了自己要不要使用Markdown,那么学习它的用法根本就没有什么难度。

这里推荐一个网站:Markdown 语法说明

记住,如果你决定开始用一个东西,你还会担心学不会么?


本文作者:思考问题的熊

版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×