上次简单聊了聊写作的重要性,这次来聊聊写作的工具。
Microsoft Word
Microsoft Word ,如雷贯耳。
写毕业论文的时候,打开了 Word 的新世界,各种骚操作如字号字体设置、自动生成目录、标题等级设置、图片表格混排等等等等让我大开眼界,以至于我在工作很多年之后,还残留有论文排版的恐惧。
现在想想,那个时候可能是我 Word 使用水平的巅峰,因为以后的日子压根就不需要使用这么复杂的功能,却还要打开庞大的 Word 来处理不那么复杂的文字工作,有点杀鸡用牛刀了。而且,换了 Mac 后,Word 的打开速度实在不那么讨喜。
除此之外 Word 的二次处理也不那么讨喜。举个例子,我现在用 Word 写了篇文章,然后想把它转换成 HTML 页面,实在是不方便。有次一个产品拿了一个十几页的 Word 文档——《用户服务协议》,叫我发到线上做成链接……
这只是二次处理的一个例子。类似 Word 这种富文本格式,已经不是纯粹的文本了,它其实已经被处理过,所以你再想基于它来创建页面或者其他形式的产物——比如在线图书,那是非常的困难的,而且这种困难,并没有随着在线文档的流行而解决。富文本的内容基本被锁死,能识别打开它的只有对应的软件。
另外,对开发来说,富文本格式在版本管理工具里面也没那么方便,能快捷解决版本冲突的可能性几乎为 0 。
写作的内容和样式
如果从来没有接触过 Word ,我们会怎样编辑文字?
试一下打开记事本,狂写一通,像下面这样?
写作最珍贵是内容的创作,但如果就像上面这样毫无修饰(我心爱的表情包都没有),阅读起来也是很困难的:没有层次,难以抓住重点,甚至眼睛都更容易疲劳。
这个时候就想起 Word 的好了,其实我们想要的不是 Word ,而是给内容施加样式的能力。细究下写作,常用的无非就是:标题(一级、二级、三级等)、正文、列表、图片、引用、加粗,开发人员再加一个代码块。把这些标识出来难道就非得用 Word ?
真正想要的是介于记事本和 Word 之间的一种形态,它足够轻量,却又能做出容易阅读的格式,它可以让你专注内容,又可以通过简单的符号来做到一种轻松的、普适的样式表达,你想的没错,就是 Markdown 。下面是 macOS 软件 Bear 里面文章的样子。
Markdown 的前世今生
Markdown 的语法相当简单,毕竟只是样式的点缀,对互联网从业者来说,半小时足够入门,这里也不打算介绍语法,想学习的同学可以来这 Markdown 语法教程,比较系统,小白轻松到大师。
Markdown 的广泛流行,和 Github / StackOverFlow 的关系很大。这两个网站都可以称为“同性交友”平台,深受广大开发的喜爱。没接触过的同学也没关系,只需要知道这两个网站有大量的发帖、回复等文字编辑操作,而它们默认的编辑语法就是 Markdown 。而且 GitHub 还有自己的一套增强型 Markdown 规范,叫 GitHub Flavored Markdown ,而它又是基于 CommonMark 规范。
Markdown 的发明者是约翰·格鲁伯,参考维基百科:
约翰·格鲁伯在 2004 年创造了 Markdown 语言,在语法上有很大一部分是跟亚伦·斯沃茨共同合作的。这个语言的目的是希望大家使用“易于阅读、易于撰写的纯文字格式,并选择性的转换成有效的 XHTML(或是 HTML)”。
其中最重要的设计是可读性,也就是说这个语言应该要能直接在字面上的被阅读,而不用被一些格式化指令标记(像是 RTF 与 HTML)。
约翰·格鲁伯是作家,我估计也是被 Word 搞烦了,一怒之下在 2004 年造了 Markdown ,随后就一发不可收拾了,Markdown 被广泛的用在互联网的各种场景,随着各种实现的增多,发现最初 Markdown 规范阐述的功能已经不满足需求了,于是往里塞自己的功能,佼佼者就是 GitHub Flavored Markdown 。与此同时最初的 Markdown 规范有很多地方是模糊不清的——比如次级列表到底要怎么缩进,各种实现都有很大的差异。
一句话,行业标准已经远远落后行业发展了,这和 JavaScript 的发展还真的一致。从 2012 年开始,包括 StackOverFlow 老板在内的一群人启动了标准化工作,2014 年 9 月,格鲁伯反对在这一工作中继续使用“Markdown”这个名字,其被更名为 CommonMark ,从此各种自我发挥的规范都在往标准靠齐。
有些软件,除了 Markdown 基础的功能,还能往里塞图片、视频等各种东西,这时候单独发一个文本文件 .md
给别人显然是带不上各种附带的东西的,于是又演进出一种新的格式 TextBundle ,这种格式可以打包文档包含的所有资源,当然这种格式也依赖软件的支持,记事本显然打不开。
还是有点感慨的,我发现不爽的地方坐等别人解决,别人发现不爽的地方自己撸了个 Markdown ,而且英文世界对制定规范都非常支持,很容易形成合力,国内就是谁都不服谁,你的规范我来颠覆式创新。
软件推荐
其实 Markdown 现在应用非常广泛了,腾讯文档、掘金、简书、有道云笔记、语雀、印象笔记等喊得出名号的平台都支持,各公司内部的工具也大多支持。
这里我简单推荐几个软件。
Typora
Windows Mac 都有。免费。实时渲染,编辑体验非常棒。力荐。
Bear
上面就有截图。专注 Mac/iOS 。收费。美观,Markdown 原生格式阅读体验好。支持标签,可以做笔记。
MWeb
我现在的主力软件。专注 Mac/iOS 。收费。强大,支持图床、自动网站生成,支持生成移动端易读的长图。做笔记绰绰有余。
Notion
我偶尔用。Windows Mac 移动端都有。应用内付费。一款颠覆式的应用,里面很多形态都被飞书等国内软件借鉴。
Obsidian
在探索中。Windows Mac 移动端都有。免费够用,应用内付费。各种插件,对前端开发友好。双向链接笔记,说是和人脑思维模式更匹配,号称下一代笔记形式。
Markdown 的进一步应用
Markdown 当然不止于搞篇文章出来,想象力要足。
Hexo
基于 Markdown 的博客生成工具,简单操作就能将你大量的 Markdown 文件组织成一个站点,非常便捷。当然也不仅限博客,项目文档、团队知识库都可以用这个。
前端入门新人我都建议部署一个博客来练练,从本地开发、到部署、到域名、到云服务都能接触的到。
GitBook
看名称就知道啥回事了,简单几步,可以把装有 Markdown 文件的仓库转成一个在线书籍,样例。
Slidev
PPT 苦主福音,同样是简单几步,就能让 Markdown 转成在线幻灯片,样例。
开发相关
收藏的一些包,有基础渲染的,有把 Markdown 转成 React 组件的,给大家参考。上面讲的 Hexo、Slidev 也都是开源的。
- https://github.com/pandao/editor.md
- https://github.com/ianstormtaylor/slate
- https://github.com/benweet/stackedit
- https://github.com/markedjs/marked
- https://github.com/markdown-it/markdown-it
- https://github.com/mdx-js/mdx
- https://github.com/vmg/sundown
最后
从 Word 聊到基于 Markdown 的开发资源,也算是我这些年对文字编辑工具思考的总结了。
Markdown 轻量、哪怕不渲染成页面也挺易读,支持软件多,渲染排版等后续处理空间大,在线优势明显,非常推荐大家用来写邮件、写笔记、写文档、写需求单,甚至开发在线书籍、笔记、幻灯片,然后创业上市。
团队那几个一直用 Word 的,下次把你抓来排版公众号文章!
紧追技术前沿,深挖专业领域
扫码关注我们吧!