- CSS揭秘
- (希)Lea Verou
- 825字
- 2020-08-29 01:34:15
本书是怎样炼成的
通俗地说,这本书在技术上是自产自销的。它完全用HTML5写成,并用到了一些由O’Reilly的HTMLBook标准(http://oreillymedia.github.io/HTMLBook)定义的data-属性。这意味着你在这本书里看到的每样东西(包括布局、图片、颜色等)都是由CSS渲染出的HTML。大量图片是由SVG生成的,或者是由SCSS函数生成的SVG data URI。书中为数不多的数学公式是在LaTeX中写成的,然后转换成MathML。有一点可能会让你意想不到,书中的所有页码、章节号、攻略编号都是由纯粹的CSS计数器生成的。
目前O'Reilly出版的绝大多数图书都是以这种方式制作出来的。O'Reilly专门为这件事搭建了一个叫作Atlas(http://atlas.oreilly.com)的系统。Atlas最美好的地方在于,它并不只是供O'Reilly官方专用的,对公众也开放。
不过这本书并不能算是Atlas的典型案例。实际上,在将CSS用于书籍排印这件事上,这本书将这种可能性推到了极致——据我所知,还没有其他书做到这个程度。它帮助我们发现了Atlas和Antenna House(Atlas采用的PDF渲染器)中的许多bug;甚至CSS规范自身也有很多与排印有关的问题暴露出来,我将这些问题都递交给了CSS工作组。
你可能会问:“使用Web技术来打造这样一本书究竟要花费多少代码?”让我们来看一些(正式出版前的)统计数据。
■这本书的样式动用了4700行SCSS代码,编译成CSS后有3800行。
■大约10000行出头的HTML代码。
■在整本书用到了322张插图,但只有140张是图片文件(包括SVG图片和屏幕截图),绝大多数插图都只是一系列加了CSS样式的div标签而已。(这些用于插图的样式占到全书CSS和SCSS代码量的65% !)
下面列出了(除了Atlas之外)制作本书所用到的工具。
■Git用于版本控制。
■SCSS用于CSS预处理。
■整本书都是在Espresso(http://macrabbit.com/espresso)这款文本编辑器中写成的。
■CodeKit用于把SCSS编译成CSS。
■Dabblet(http://dabblet.com)用于存放在线演示,有一部分插图截取自这些在线演示页面。
■那些SVG格式的插图并不是手工写成的,而是在Adobe Illustrator中创建的。
■在必要时用到了Adobe Photoshop来处理屏幕截图。
本书是在一台13英寸的MacBook Air上写成的,它在写作过程中随我到了很多国家,包括希腊、肯尼亚、澳大利亚、新西兰、菲律宾、新加坡、智利、巴西、美国、法国、西班牙、英国、威尔士、波兰、加拿大和奥地利。