最新消息:想上头条?没问题,只要你给本站投稿就行啦~

Markdown的前生今世

原创 ChinaTechWriting 1442浏览 0评论

前不久,老罗在坚果手机发布会上特意提到新版的锤子便签App支持Markdown,那么问题来了,Markdown到底有何魅力,连老罗都认可?

Markdown是一种轻量级的纯文本标记语言(Markup Language),你可以简单将它看做是HTML语言的极度简化版本(“乞丐版”?)。如果你用HTML语言写过网页的话,那么你应该能体会到HTML语言用起来有时候挺繁琐的,特别是当你只是想快速地生成一个简单的网页时,还是得弄那么多的标签。

于是,有人发明了Markdown(本文后续部分将简称其为“MD”),方便人们用更简单的语法格式撰写想要的文本内容,然后快速生成Web页面。MD的语法是如此之简洁,以至于你不必将其转换成HTML,也可以从源文本直接看出来它想要表达的内容。换句话说,MD源文本的可读性非常高,你也可以直接将它当做一个readme.txt那样来用,无需多余的修饰,也不一定非要转成HTML才能阅读和使用。需要说明的是,类似HTML,MD也是支持CSS的,可以通过支持MD的编辑器来嵌入CSS文件,只要套用现成的CSS即可生成漂亮的HTML版式。这样一来,你就只需关心文本内容的撰写,而无需关注排版效果如何调整。

MD到底有多简洁呢?我们来快速对比一下HTML和MD这两种语言的语法,相信你很快就能感知到。

  HTML Markdown
标题
<h1>一级标题文本</h1>
<h2>二级标题文本</h2>
<h3>三级标题文本</h3>
# 一级标题文本
## 二级标题文本
### 三级标题文本
段落 <p>段落文本内容</p> 回车键另起一行即可
强调 <strong>强调文本</strong> **强调文本**
斜体 <em>斜体文本</em> _斜体文本_
无序列表 <ul>
<li>这是一行</li>
<li>另起一行</li>
<li>又是一行</li>
</ul>
* 这是一行
* 另起一行
* 又是一行
有序列表 <ol>
<li>这是第一行</li>
<li>这是第二行</li>
<li>这是第三行</li>
</ol>
1. 这是第一行
2. 这是第二行
3. 这是第三方
超链接 <a href=”http://www.google.com”>Google</a>
[Google](http://www.google.com)

限于篇幅,本文仅列举几个常见的标记元素供参考。实际上,仅仅从“回车换行即可创建新段落”这一点,已经可以看出MD的确是非常省事,因为我们在写东西时经常要分段落来写。

MD相比较HTML而言在语法上大为简化,所以如果你要表现稍微复杂一点的网页效果的话,MD就有点吃力了。举个例子,MD的表格功能很弱,也就是勉强能用的水平。理论上,MD是兼容HTML语法的,也就是说,你可以直接在MD文件中用HTML语法来撰写内容,如嵌入复杂的表格。问题是,人们发明MD的初衷之一就是不想直接撰写HTML啊。由于MD并没有一个权威的标准或者说组织在维护其完整性和延续性,它是开源的,最原始的版本被发明出来后,也很长时间没有怎么进行维护,所以大伙儿纷纷开始对MD进行各种改造,侧重于强化其功能,逐渐形成了各种衍生分支,或者说是方言(Dialect)。以下仅列举几种比较流行的方言:

  • GitHub Flavored Markdown:由于GitHub是全球最为流行的代码分享与协作网站,因此这个方言的影响力也是相当大。
  • StackOverflow Flavored Markdown:StackOverflow是国外最为知名的程序员问答网站,所以其支持的方言也很流行。
  • Pandoc’s markdown:Pandoc是一个近乎万能的标记语言格式转换器,它可以将一种语言转换为另一种语言。

多样化的MD方言,在带来各种强化功能的同时,也在一定程度上造成了MD体系的混乱(想像一下Android系统的碎片化吧)。例如,有时候你用某个方言用得好好的,在另一个站点或者编辑器里却发现某些标记元素不起作用。所以,现在也有人开始行动起来,准备协调统一现有的各种方言,力求整合出一个“标准”来规范大家的使用。

在编辑器方面,MD的可选项非常多。因为MD是开源的,所以每隔一段时间就又有人捣鼓出一个新的编辑器出来,而且经常是青出于蓝而胜于蓝。支持MD的编辑器,开源的居多,也有商业软件。以下是常见的几个编辑器,供大家参考:

本地客户端版:

  • MarkdownPad(支持Windows)
  • Mou(在Mac用户中很流行)
  • ReText(支持Linux)

在线版:

Cmd Markdown (https://www.zybuluo.com/
markdownpad
对程序员来说,他们所熟悉的各种高级代码编辑器(如VIM),本身只要通过插件等形式就可以支持MD(如实现语法高亮),所以他们也可以愉快地一边写代码一边写文档。

随着MD的日趋流行,很多具有文本编辑功能的应用程序,也开始支持MD。例如,除了本文开头提到的锤子便签App外,国内另外一个知名的知识管理软件为知笔记(WizNote)也支持MD。倒是那个被很多人认为高大上的Evernote迟迟未能支持MD,搞得MD党们怨念颇深……

wiznote-md-editwiznote-md-result

关于MD的各种奇葩应用还有很多,例如有人觉得Gmail的在线编辑功能不好用,于是做了个Chrome浏览器插件Markdown here,方便用MD格式在Gmail中写邮件……

老罗在坚果手机发布会上说,他觉得MD是极客群体才关注的东西。实际上,MD的影响力早已超出技术圈的范畴了。例如,国内小有名气的在线写作与阅读平台“简书”(http://www.jianshu.com/)也支持MD,你也许不知道,在简书上面写东西的人可是所谓的文青居多哟~

由于MD具备以上列举的种种优势,它也很适合技术文档工程师们使用。根据需要,对原生MD语法进行一番定制之后,MD可以适应常见的技术文档写作情景。当然了,技术文档写作工具链包含很多环节,MD只是其中一环。本文末尾补充阅读材料部分,有一个国内某IT厂家基于MD来构建技术文档编译自动化工具链的例子,感兴趣的读者可以自行研究。

那谁,你还等啥呢?赶紧试试Markdown吧!

参考与补充阅读材料:


原创文章,版权归作者所有,转载请注明本站以及作者名称,并保留原文链接

本文链接:http://www.chinatechwriting.com/what-is-markdown/


The following two tabs change content below.
ChinaTechWriting
中国技术文档写作资讯网官方账号
ChinaTechWriting

Latest posts by ChinaTechWriting (see all)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址