极客制作的技术“书”
世上的爱书之人,为之癫狂陶醉、夜不能寐,本人自认为没有达到那种高度,实不敢以爱书人自居。不过身在此行,毕竟耳濡目染,“书”本身这个概念对我而言也有了非凡的意义。不论是有关写书、做书还是卖书,如在生活日常中碰到有人提及,必竖起耳朵;有文谈及,必扫上一眼。近年来,看到的“书”真是千姿百态、乱花迷眼。但是本文并不准备谈及实体书籍的新样式(奢华、文艺的实体”书“近年来真是层出不穷,实体书的”奢饰品“面目也逐渐显山露水),而是想谈一谈近来见到的一些极客写出来的技术”书“。
之所以选择技术“书”这个门类,主要基于以下考虑:所谓的呆萌geek已经在近十几年来几乎把世界翻了个个儿,他们颠覆了通讯、社交、音乐、视频、商品交易;正在逐渐颠覆着金融、医疗、教育、出版和房地产。这些geek们对书又是怎么个看法呢?他们心目中的书应该是个什么样子?他们是怎样写书的?他们又是怎样把书呈现到读者眼前的?他们的想法代表着未来的趋势,他们的某些尝试会成为未来的行业标准。目前世道就是这样:You’ve got to do what is the next. 不管你对当下的事情做得再好,也无济于事,看看可怜的柯达、诺基亚,就都明白了。
极客对书的改造首先体现在技术”书“上,因为他们要看、要用、要写、要分享。以下几条是我总结的极客制作电子书的特点。(注:本人见识有限,很容易犯 可得性偏差的错误,如有错漏,敬请指教。)
极客做书的几个特点
1. 不用Word来写书
使用word的人口基数还是大啊……但是如果用word导出为html的话,那些凌乱的代码,看起来让人烦躁。所见即所得的编辑模式虽然直观,但是排版是要用鼠标点来点去,选来划去,对于键盘流的coder来说,无法行云流水地施展,实在是不够炫酷啊!另外,短篇的word文档,排排版尚可。长篇大作,再用word的排版工具,真的很繁琐。word格式也不利于跨平台、跨媒介的分享。对于技术人员来讲,word格式真的不是进行文字编辑的首选。
那么geek们是怎么写书的呢?自然是用代码啦!但是对于大多数没有太多互动功能的书来说,这里所说的”代码“只是一种固定撰写内容的格式罢了。目前势头正劲的markdown是很多写书极客的选择。在大名鼎鼎的代码托管站Github上写文章,用的就是markdown,大多数码农一定都不会陌生。国内专注于写文章的网站 简书和走在技术书籍出版前沿的 图灵社区都是支持并鼓励markdown格式的。我自己写这篇文章时用的也是这种格式。学习markdown的曲线并不陡峭,十分容易上手。以前习惯了word的自己,在用了一段时间的纯文本方式写作之后,也逐渐能够感觉到这种至简之中所透露出的优雅和美感。
除了markdown以外,有些geek会使用更为复杂的模式进行写作。DocBook就是一种非常有名的格式,O’Reilly出版社默认使用的就是这种格式,算得上一种事实上的标准。DocBook的写作要符合xml格式,上手没有markdown那么容易。 这里有一篇DocBook文件写作的入门教程,略扫一眼就知道这种写作方式是多么nerd了。
除了以上两种格式以外,还有很多其他格式,例如reStructuredText以及在学术出版中备受推崇的Latex等。
【近距离观察】很多人可能对于上述看来麻烦的写作方式嗤之以鼻。毕竟写小说与写技术书籍是两回事。但是,重要的并不是使用的究竟是哪种格式,而是为什么geek会选择用文本编辑器来编写格式相对复杂的文字,而非使用word来写作。我想归根结底,是由于形式与内容相分离的趋势造成的。正如目前发生在前端网页制作中的内容、样式和行为,即html、css和javascript的分离,在出版业内,这种趋势也愈演愈烈。doc格式是非常优秀且直观的文件形式,但是内容的逻辑结构是通过样式来展现的,依靠的是肉眼的分辨。例如通过字号大小等字体格式的调整,段落前后的间隙以及文字的缩进等实现。在word中,进行标题、引用等的设置选项就是在“样式”设置的分类下面的,这就很说明问题。word中的文字拷贝到txt文件中时,由于样式没有保留,其内容的逻辑结构也随之掩盖在文字之间,难以辨识。而word导出的XML文档中却涵盖了太多与样式相关的内容。尽管doc文件使用广泛,人们喜闻乐见,但是以它为基础进行内容逻辑与样式的分离,则是一件相对困难和繁琐的事情。极客们用文本编辑器写出的文本可以视为纯之又纯的内容逻辑,其中逻辑的展现不是依赖人眼的感受识别,而是通过固定符号和标签,以电脑可以处理的显性方式进行存储。这种内容与样式相分离带来的直接好处就是下面要讲到的多种文件格式的转换以及跨平台的展示。
2. 多种格式的转换
在维基的 comparison of ebook formats一文中,列出的格式达31种之多。但是大多要求生成的最终格式主要有以下三种:PDF、mobi和epub。PDF是现行书籍出版的标准,可以直接用其进行高质量的书籍印刷,可以算得上是一种必备格式。由于amazon kindle阅读器的热销,mobi格式也迅速突出重围,获得举足轻重的地位。epub则是除了kindle阅读器以外,其他各类阅读器和应用都支持的电子书阅读格式,使用范围也非常的广泛。其中值得注意的是mobi格式可以通过epub格式生成。因此,格式转换的关注点应放在能够便捷完美转换成为epub和pdf格式。这里的“便捷”、“完美”有两方面所指:1. 转换出来的样式美观,没有产生过多格式问题;2. 转换期间没有或极少有人工参与,不太需要人力进行细节的格式修正。
支持格式转换的工具很多,其中 Pandoc脱颖而出,成为各类格式转换的瑞士军刀。在Pandoc的首页上,言明其支持的源文件格式和最终格式:
源文件格式
- markdown
- reStructuredText
- textile
- HTML
- DocBook
- LaTeX
- MediaWiki markup
- OPML
- Haddock markup
目标文件格式
- HTML格式(支持使用 Slidy), reveal.js, Slideous, S5, 或 DZSlides显示的HTML幻灯
- 文字处理格式 Docx, ODT, OpenDocument XML
- 电子书格式 epub, FictionBook2
- 文档格式 DocBook, GNU TexInfo, Groff man pages, Haddock markup
- 大纲格式 OPML
- TeX格式 LaTeX, ConTeXt
- PDF (通过LaTex中间格式转)
- 轻量标记格式 Markdown, reStructuredText, AsciiDoc, MediaWiki markup, Emacs Org-Mode, Textile
- 自定义格式 自定义用户可以用lua编写
值得注意的是上述的源文件格式,都是比较理想的存档格式。有了这些格式的文件,常见的word、pdf、epub和mobi格式都不在话下。而word、pdf等格式,虽然常见,但只能被单向生成,无法实现双向转换,因此并不是理想的存档格式,不利于后续多用途加工。
3. 分享形式的推陈出新
说到技术书籍的分享,把豆瓣这么文艺的平台拨到一边, 图灵社区这一片洋溢着知性、理性和极客风范的净土浮上水平线。图灵文化对于纸质书似乎不那么执着,在电子书那一栏中,有些电子书有纸质版在售,有些则没有。例如《 Angular JS入门教程》和《 Sketch中文手册》这两本就是完全免费的电子书。由于正在为图灵译书,所以晓得图灵的后台图书编辑系统是支持Markdown的,因此图灵的书不仅有纸质版,还有PDF版和对应的Kindle版,对于他们而言,这种多格式的运作方式成本并不高。所有这些书在社区中,直接在书籍内容旁边就有Tab页集合了勘误、评论和延伸阅读的文章,使得书籍本身价值得以提升,呈现的内容更为爆满,也使人与作者、编辑和书之间的沟通变得更为顺畅。
除了图灵社区以外,github也是一片技术书籍诞生的热土。例如阮一峰的这本 《ECMAScript 6入门》,就是其中之一。据说这本书不久就会由电子工业出版社出版纸质版本,不过电子版本已经优先在网路面世。这本书的简介中称这本书是“开源”的javascript教程。任何人都可以在保持原作者署名和非商用的前提下,自由地阅读、分享、修改本书。最近看过的另外一本 《JavaScript Patterns》一书则是直接在Github中集体翻译完成并共享的。在 这里,你能看到更多基于git、github和markdown制作的互动书籍gitbook。
另外,网上各种语言的文档其实也可以看作典型的技术书籍的范本。例如HAML的这份 参考文档,不就是一本典型的小手册吗?这种文档真是遍地都是,如果你的mac机上装有 Dash的话,还会看到更多实例。
各类支持自出版的平台也层出不穷。亚马逊的自出版计划Kindle Direct Publishing 自不必提, Leanpub就是一个支持敏捷出版的网站,出版格式多种多样,目前大多数是与技术相关的书籍。个人认为首页右下角创始人的演讲视频很值得一看。
这里一本 docbook,那里一本 wikibook,似乎一下子蹦出来很多后面跟了book的新词儿。感谢呆萌的技术宅,把出书这件事儿也整的这么有技术范这么性感。其实说到底,技术并不是把书跟人分得越来越远,而是把书与人越拉越近。只要你动动鼠标,打打键盘,自己的书似乎就在网络上成形了,接着就有人能看到,能评论。这无疑是将著书立说这件事情变得更容易。写到最后,附上一个段子吧!首先声明,段子决没有取笑技术宅之意,要说真是意有所指的话,那也是那些高高在上磨不开面子拉不下脸面的出版爷们:
“老师老师,现在写书的根本就不用笔写了,称为笔者已经不对了啊,那叫什么好呢?”“叫键人!”“那么那些只用鼠标的呢?”“叫鼠辈!”“那只用触屏手机的呢?”“叫触生!”“。。。”
奉劝一句,别再装“笔”者,俯身当“键”人!