自从知道了 Markdown 这门标记语言,我就放弃了富文本编辑器,将微软的 Word、苹果的 Pages 束之高阁,转身离去,走上了 Markdown 写作的漫漫长路,并乐此不疲。
当年发布锤子便签 Markdown 版本的时候,老罗坚持把这个功能做的非常隐晦,并判断说,只有极客才会用这个功能。对此我是很不以为然的,但他是老板,我不和他争,和谁争我都不屑,我相信未来的数据可以证明……万一罗哥是对的呢?
一、Markdown 到底是什么?
Markdown 既不是工具也不是程序语言,而是一种轻量级的「标记语言」,是由约翰·格鲁伯(John Gruber)和亚伦·斯沃茨(Aaron Swartz)创建的。它允许人们使用纯文本格式编写文档,然后根据其中的标记转换成有效的XHTML(常用的就是HTML)文档。
亚伦·斯沃茨就是大名鼎鼎的互联网之子,英年早逝,令人扼腕叹息。想了解他的事迹,可以参考这篇「互联网之子」
理解了这一点,我们就知道,基于 Markdown 写作,就是纯文本写作,其中的格式可以通过一些简单的标记语言实现。一说到语言,很多人就开始退缩了:老池你别闹了,我英文到现在还没学好呢。我可以负责任的告诉你,掌握 Markdown 的标记语言比掌握英文大概要容易一个银河系。为什么 Markdown 能够普及呢?就因为这种语言简单到了令人发指的地步,以至于连二爷这样的产品经理也能分分钟学会。
简单介绍一下,如果你想给文章起个标题,在行首输入 # 加一个空格,后面的文字就变成了标题。输入两个 #,就是小标题,三个,就是小小标题,一共支持六个 #,够简单吧?
如果你输入斜体,在文字首尾增加一个星号即可,比如 卖桃者说,加粗,用两个星号,比如 卖桃者说,增加删除线,首位加两个波浪符号,比如 卖桃者说。
写作中引用了别人的文字,只需要在那段文字的首部增加 >,就会出现一个漂亮的区域块,比如:
你知道吗,人们每天起床,做着同样的事情,他们告诉自己,有一天要改变生活,但他们从来不付诸行动。我想改变自己的生活。
若隐若现的分割线,用三个星号占一行即可实现。插入链接,用方括号括起来,后面再加一个小括号链接就行了,比如 [锤子科技官网](http://www.smartisan.com)。
如果写非技术性文章的话,掌握了以上语法,基本就能解决你写作中百分之九十的问题。我在之前的文章里介绍过 Ulysses,这个工具非常适合沉浸式写作,也支持 Markdown,但是遇到复杂的技术类文章,就显得力不从心了,如果你想引入大量的代码、公式,甚至,你想用以文本的方式去画一些简单的图表,Ulysses 就无能为力了。
二、有道云笔记
一直想找一款适合程序员写技术文章的 Markdown 工具,上周经网易有道的朋友邀约,我试用了新版的有道云笔记,对 Markdown 的扩展能力有了进一步的认识。
我个人一直是有道云笔记的用户,这次新版本的发布包括了 Web 版和 Windows 版,主要增加了对 Markdown 语法的支持。我没有 PC,所以主要使用了 Web 版,效果可称惊艳。
访问 http://note.youdao.com ,登录网页版,就进入了有道云笔记的主界面。有道云笔记采用了传统的左树右表布局,将屏幕切成了三块,左边是树状结构的文件夹,中栏是文件列表,右边是主要的文本编辑区。这种布局模式,与其他 Markdown 专用编辑器相比,优点是不用退出编辑就能同时显示多个 MD 文件,对于需要同时编辑、查阅多个 MD 文档的人来说,很实用。缺点是如果你的屏幕不够大,略显拥挤。好在点击左边栏底部的箭头,可以隐藏树状边栏。另外,Windows 版本可以通过双击中间栏,扩展编辑区域为全屏模式,为用户提供更宽阔的写作空间。
点击「新建 – Markdown」,就可以在当前文件夹下建立一个 Markdown 文件,支持 Markdown 语法的写作软件一般有两种模式,一种是写作模式,一种是预览模式,有道云笔记也不例外。进入编辑状态时,编辑区自动切分为两个区域,左边为编辑区,右边为预览区,支持实时预览,所见即所得,同时连个区域支持滚动条同步浏览。点击分界条,可以实现独立/分屏切换,毕竟大部分时候,写作是不需要预览的。
编辑器的顶部是内置的工具栏,我之前介绍过的 Markdown 语法,基本都可以通过工具栏上的按钮实现,换句话说,你点几次按钮,那些语法差不多就掌握了,不用每次去点,对于程序员来说,双手保持在键盘上才是正事。
三、惊艳扩展
如果有道云笔记只有这些功能,那就不需要我费时费力去写这篇文章了,最重要的是他们对 Markdown 的语法进行了非常有意思的扩展!
1、待办事项。
输入:
– [ ] 编写埋点数据清洗程序
– [x] Code Review
– [x] 项目组例会
– [ ] 和老罗谈加薪的事,不加咋办?也得干
– [x] 解决客服报上来的 bug