很高兴和你相遇
这里正在记录我的所思所学
首页 标签 归档 播客 关于

关于 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) 进行许可。

扫码即刻沟通

· 分享链接 https://kaopubear.top/blog/2017-02-04-trymarkdown/