手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:flipboard

部分转:卡片、页与卷轴

其实想转这篇文章好久了,但一直在犹豫。众所周知,如今的pad上的文章、HTML网页,都在尝试着改变。如果让人还在不停的向上拖动页面,好象就会被人所诟病。
于是乎翻页就显得至关重要。
从最早ipad上可见的ibooks中的书籍可了解,翻页其实是一件很痛苦的事情。它需要将你的文章内容由程序自己算好,然后将它分页,于是这里面的代价消耗就非常大。一篇文章如果有上千页,当你选择改变字体大小的时候,ibooks就象死机一样,无法拖动。毕竟这个时候程序在计算页码,重绘页面。超级痛苦,而pad又不象台式机那样CPU强劲。带来的郁闷可想而知。
于是更多的人尝试PDF阅读,毕竟当一篇文章转为PDF后,带来的好处也是显而易见,格式固定,编排方便,可以随意跳转,而且PDF的格式公开,任何人都可以尝试制作它,更关键的是,ipad内建支持pdf(如ibook)。但同时也会有一点小问题,比如,不能调整字体大小,不能插入广告(我想这个对于想赢利的企业来说恐怕是最痛苦的),容易被人打包下走所有数据(企业会更恨这个原因)
当kindle出第二版的时候,很多人都在惊呼,阅读的时代要改变了。国内有个做kindle系统打包的叫做“多看”,它对PDF也做了处理,能够对PDF进行分页,很多国内的电子书用户都选择了多看系统,因为看书更方便了。(它实现的也是类似ibook的效果)
好了,先看原文吧,我废话太多了。。。。原文来自:http://apple4.us/2012/02/card-pagination-scroll-lawrence-column-for-blogweekly.html,我部分摘抄
正如原文中所说:

XML/HTML代码
  1. 关于分页与否的讨论自 1980 年代就已开始。苹果 Macintosh 的创始人杰夫·拉斯金用「卡片」和「卷轴」来比喻分页与不分页这两种对信息的呈现方式。到目前为止,万维网(web)基本是卷轴的天下。但电子书的勃兴令情况开始有了变化。  

互联网时代大家都清楚,鼠标滚动。。。

XML/HTML代码
  1. 和大部分软件一样,电子书软件的设计也能找到真实世界中的对应。正如早年的图形介面系统设计者根据桌面、文件、文件夹、垃圾桶这些办公环境中的标配物件想象出了一套譬喻,电子书软件从一开始就沿袭了纸书的习惯,以「页」为基本单位。另一方面,因为一些不必在此深究的原因,大部分主流电子书软件所用的技术恰恰就是万维网的技术──HTML, CSS, JavaScript,亚马逊的 Kindle 与苹果的 iBooks 都不例外。电子书事实上就是「分了页的网页」。  
  2.   
  3. 电子书的读者对于分页与否各有偏好,不过技术潮流由赢家设定。从过去几个月的发展看来,分页是大趋势。亚马逊不久前宣布将推出 Kindle Format 8 格式,将更多平面排版的元素引入 Kindle 书中。苹果的 iBooks 2 与电子书制作软件 iBooks Author 也做了类似的事情,且完成度更高。(其实苹果一直是卡片式设计的支持者。万维网出现之前最成功的超媒体系统 HyperCard 就出自苹果之手,他们甚至把「卡片」一词写进了软件名称。)Flipboard 和 Zite 等热门阅读软件用分页的方式对网页进行了重排,老牌浏览器 Opera 亦于去年启动了实验性的 Opera Reader 计划,目标类似。  
  4.   
  5. 这里的终极问题是:设计师应该拥有多少控制权?在发轫于互联网时代的「赋权于民」的大潮流下,设计的权力是否也应该下放给普通用户?如上所述,从信息设计的角度而言,卡片式 / 分页设计的好处显而易见。它为设计师提供了一种具象而直接的限制(没有限制就没有设计)。对于读者来说,上下左右四条固定的边界也对注意力形成了一定程度的约束。这是用户权力的收缩,也是对设计师和内容生产者的控制权的重新认可。若卡片式设计能取代卷轴成为明日的主流,对于内容方实为幸事。  

卡片还是卷轴,其实真的很让人难以选择。原文中Kindle Format 8Opera Reader 都有链接,有兴趣的可以看看。
说来说去,这又回到了开始:

XML/HTML代码
  1. 在纸张出版的世界里,无页不成书。分页的重要性不太会被提起,因为它早已像空气一样无处不在。页界定了包裹内容的边界,是对信息的一种切割──我让你看到的不是全部,而是我挑选过的局部。以页为单位,给了设计师与编辑(编辑也是设计)做选择的可能──没有限制就无需做选择,而做选择就是设计。(包括选择今晚去哪家餐厅吃饭。)  

电子书也需要越来越向纸书那样有页码吗?不过,如果真的没有页码,跳转的时候会比较痛苦吧。从程序设计的角度来说,如果没有页码,也就是说几乎要将所有的内容放到一个容器中,而有了页面,为了翻页速度可以直接读取该页码附近左右的各5页内容,会更方便,也更减少资源的消耗。
然而,真的很痛苦,HTML分页太痛苦了。其他的呢?国内的几个ipad上的阅读软件现在都在好象慢慢放弃HTML分页了,而flipboard越仍然在坚持。
那,我们又是否应该再坚持呢?HTML分页有优点,它的优点在于可以很方便的为HTML网页做一些特别的效果。但带来的问题是大量的精力和开发资源都耗在这上面。(国内的专业做javascript开发的,真的很少啊。专业做这一行的,对于切入HTML排版好象也很排斥,不知道为什么。)
如果你是BOSS,你会怎么选择?

Tags: 分页, html, kindle, flipboard, ipad

基于PHP版本的 Readability 库

说起readability或许知道的人还真的不是特别多,其实 这是一个工作室,叫arc90的开发的一个JS类库,作用是方便各种掌上设备在阅读页面的时候可以只关注真正的内容部分,而忽略掉那些无关的广告或者其他标记。
这,对于国内的开发人员来说,那就是采集利器了,因为在这种情况下,页面里剩下的内容就只有文章主体了。这个结果,你懂的。
arc90这个工作室或许很多人不知道,但flipboard很多人应该听说过,做IPAD上资讯类阅读软件开发的人员应该会知道这个软件啦。
不多说了,我这里是转的PHP版的readability的库,上面的一些内容,转载的文章中也有介绍,可以LOOK一下先,原文来自:http://blog.zol.com.cn/2615/article_2614448.html

阅读是汲取知识的途径之一,但烦杂的网页提了额外我们诸多不需要的信息,这有时候非常干扰我们阅读。回归阅读 内容的本身,其实通过Readability 这个脚本 就能抽取页面的主体内容。

不过,Readability 提供的仅仅是个 Bookmarklet,如果我们需要将其导出、打印等操作时就显 得捉衿见肘。需求驱动行动,于是就有了这个 PHP 库。PS,同时您还可以找到 .net 版本的 Readability,以及 node.js 版本的 Readability

这个库能做的事情非常的简单,就是找到页面的主体内容并返回。调用这个库非常的容易,实例代码如下:

PHP代码
  1. require 'lib/Readability.inc.php';  
  2. $Readability = new Readability($html$html_input_charset); // default charset is utf-8  
  3. $ReadabilityData = $Readability->getContent();    
  4. echo "".$ReadabilityData['title']."";   
  5. echo $ReadabilityData['content'];  

如果您不在意技术本身,那么这里有个现成的线上工具。只需要粘贴入需要阅读的网页链接,这个工具就能够重新生成适合阅读的页面(例如: 原页面Readability 以后的页面)。

大小: 185.14 K
尺寸: 495 x 376
浏览: 1610 次
点击打开新窗口浏览全图

然后利用 Mac 的 pdf 打印输出功能,就能非常方便在 kindle 等阅读器上使用。

Q&A

输出的页面似乎有乱码?

PHP Readability 库能够指定输入的字符编码并统一返回 utf-8 编码的字符串。如果您在处理过程中碰到了乱码问题,请调整下字符编码。如果还是有问题,欢迎您的反馈。

有些页面提取内容失败或者提取不正确?

Readability 提取的算法其实非常有限。如果页面本身的 HTML 标签不是非常合乎规范,那么提取可能会造成一定的困扰。通常这在国内的页面上会更常见些,同样欢迎您的反馈,这有利于我继续改进 PHP Readability 的算法。

最后,希望这个库和工具能让你找回阅读的乐趣。

------------------------
嗯,在使用这个软件的时候,如果发现HTML标准不规范(你懂的,国内的网页,有超过50%以上的页面是不规范的,嗯,标签不闭合的都有很多),请使用PHP的tidy库修复一下,如果没有tidy库,那就用htmlpurifier修复一下吧。
顺便:YII的自带扩展中已经包含htmlpurifier插件。

 

Tags: readability, arc90, flipboard, tidy, htmlpurifier