今天关注博客的人少多了
现在讨论“Blog 是什么”这个问题似乎有点搞笑。理论上来说,这个话题应该早在 2006 年就讨论完了。今天再说这个都不是遭人鄙视这么简单的了,现在谁还不知道个博客啊。更何况从实际的技术上来说,blog 早已开始走下坡路了。微博这种东西的发展已经把博客的市场逼得越来越小了,道理很简单,很少有人愿意静下心来写一篇文章。而写一句话的成本要小多了。或许从一开始人们需要的就不是博客,而是一种表达的方式。相比起传统的网页,博客可以让人们更容易的发布信息。而微博才是人们真正需要的东西。人们要说话,而不是做作文。
关于 Octopress
让我这个从 2006 年就开始写博客的人在今天重新思考什么是 blog 这个问题的原因,是因为一款类 blog 系统的传播与逐渐流行。它的名字是 Octopress,相关介绍可以去它的网站上看。总而言之,它的特色是用户用 Markdown 来把一篇文章写在文本文件里,然后 Octopress 会生成静态的网页。用户可以用 rsync 之类的工具把网页放到服务器上去,这就完成了一次发布的操作。
我发现越来越多的人开始用起了 Octopress,有些人是从 WordPress 转过去的。我自己没有用过 Octopress,但看了介绍之后觉得这种方式没有什么吸引我的地方,于是就对它保持了兴趣——为什么这么多有条件的人都放弃 WordPress 而用起了 Octopress 呢?
调查了一下,我总结出 Octopress 相对于 WordPress,大约有以下几个优点:
- 静态发布
- git 版本控制
- 漂亮的模版(我从未见过有比 Octopress 默认的模版感觉更好的 web 界面了,这另一方面叶造成了这个模版的烂大街 :))
- 不需要数据库和 PHP 的支持
我感觉其中最吸引我的就是静态发布和不需要数据库、PHP 这两点。静态发布其实更早的 Movable Type 就已经做到了,但 Perl CGI 程序的入门要比 PHP 难得多,虽然现在不支持 PHP 的主机已经基本没有了,但 Octopress 可以把网站发布在 Github 之类的地方,算是它的一项廉价优势。我调查的一些 Octopress 用户因为访问量比较大,因此从 WordPress 切换到 Octopress 之后会有比较大的效率提升,这在其它地方比较少见。而说实话,今天的服务器几乎没有不支持 MySQL 和 PHP 的了。特别是数据库,我觉得一些不用数据库的系统之所以不用数据库并非是因为用不起数据库,而是一种特殊的选择。比如 MoinMoin,把不用数据库作为自己的一种特色。但再我实际的使用过程中,我觉得保存数据还是数据库是正途,用文件来存储数据,就算操作起来也回有一定的问题,不加保护的把这些文件暴露给用户,一旦用户不小心动了什么地方(比如权限),就有可能早成系统的问题。所以 Octopress 不用数据库,我很难说清楚是不是优势。不过,使用 git 来做版本控制倒是一绝,虽然我对于 git 管理源代码之外的文档还没有什么经验。
Octopress 的页面美观设计也是一绝。我用过的两个 blog 系统,Movable Type 和 WordPress,它们都在美观方面没有什么建树。Movable Type 就不用提了,版本 3 的时候还不错,到了版本 4 的时候几个模版显示中文简直可以用“惨不忍睹”来形容。WordPress 好一些,但默认的模版也没有让人觉得“眼前一亮”。第三方模版的数量挺大,但比起 Octopress 的模版来,我觉得都差一些,除了一些有设计技术的人给自己弄的模版,但这些都不大有公开的。而 Octopress 对于文章中插入的代码的排版让我看来也很专业,WordPress 的这方面,总是让我痛苦啊。
Octopress 有这么多的好处,我却一直对它没有动心,因为我觉得 Octopress 少了一些 blog 的必要的要素。
Blog 要包含什么?
博客的诞生,把我们从 web 1.0 时代引导到了 web 2.0 的时代。web 2.0 和 1.0 的不同点在于,web 2.0 有了用户交互的功能。在 web 1.0 时代,用户看到的都是静态的 HTML 网页,无法参与到网站的交流当中。虽然有聊天室之类的地方存在,但它们无法做到统一有效的集中信息。Web 2.0 跟随博客这个概念诞生,用户可以根据一篇文章发表评论,评论可以自动的显示在相应的区域,被所有人看见。从此,互联网进入了一个新的时代。
后来我们有了 Movable Type、WordPress 等面向个人的 blog 系统,个人可以在自己的服务器上安装这些系统,建立 web 2.0 网页。再后来慢慢的 BSP 出现了,这带来了一个建立 blog 的热潮。由于创建一个 blog 的成本很低,所以那时候的互联网用户,只要不是一些有意守旧的人群,几乎人人都有一个 blog。不管里面有没有内容,人们还是热衷于像互换名片一样的交换友情链接。这个热潮在 Facebook、Twitter 开始流行之后渐渐的减弱,关于减弱的原因,今天我仍然保持这个观点。
那么相比起传统的网页,一个博客都需要有那些要素呢?我今天的观点是,除了正文、模版之类的非常明显的东西外,还要有:
- 评论
- trackback
- 后台管理系统
- RSS
这些是目前主流的 blog 系统所包含的东西。RSS 首先是不能少的,虽然它未必跟博客的概念一同诞生,但到了今天,RSS 已经不仅仅限于博客了,它已经算是一个 web 2.0 网站必备的要素了。评论和 trackback 差不多可以算作一项。虽然有一些人已经放弃了这个功能了。很多网站都不开启 trackback 功能,或者它们干脆有错误,没办法正常发送显示 trackback。这一条功能是我在刚刚认识到博客的时候比较期待的一点,因为我觉得它可以让博客之间可以互相交互,可以把相关的话题串联在一起,是一项伟大的发明,谁知到现在已经很少有人认真关注它了。评论稍后再说,后台管理系统是一个比较公认的要素,但最近 Octopress 之类的系统已经放弃了在线的管理系统,而是通过命令行来管理一个 blog。这一点我没有亲自体验过,所以不做评论。
过去我一直以为评论是博客的重要功能之一。因为从表面上来看,一个博客没有评论框,那不就和 web 1.0 的网站一样了吗?正因为有了评论这个功能,博客才可以跟用户交互。所以当我在五、六年看到蔡智浩的部落格居然没有开启评论系统时,真正的大吃了一惊。看了他的一篇《部落格迴響的心理分析》里对于这个问题的解释,我不禁感叹太激进了。我自己是绝对做不到这样子的,到了今天,也依旧不大认同他的观点。结果到了现在,Disqus 之类的第三方评论管理系统反而渐渐的火了起来。Octopress 本身没有评论功能,因此使用 Disqus 作为它的评论系统。
我对这种第三方的评论系统总是不大感冒。出于最近“本地的才最可靠”的想法,我一直觉得有些东西,能放在自己的服务器上尽量放在自己这里,因为这样才算是把它们握在了自己的手中。虽然比起个人的服务器来说,专业网站的服务器会更可靠一些,但一些特殊的因素(比如公司倒闭啦、被墙啦)总会让我觉得不大有安全感。当然,自己服务器上的东西,在折腾来去后总是容易丢失的,我的博客上的很多评论都在我上次切换 blog 系统的时候给没了。但自己弄丢的总找不到别人指责,所以也只好懊恼一番就算了。如果是因为别人的缘故让我的信息丢失,那么就不是懊恼一下子就可以缓过劲来的。另外,对于中国大陆的访问者来说,这些东西总有被墙的危险。至于事情发生了之后,能不能把这些放在第三方网站上的评论再导入回自己的 blog 系统中,我还没有一个比较明确的答案。但既然如此,一直把评论放在自己的服务器里就是了,我还没有遇到过那种流量大的让用户发表评论特别困难的案例呢。
不过,见的多了,我现在也渐渐的接受了没有评论系统的博客了,也勉强可以接受 Octopress 这种评论的设计。原因之一还是现在博客的没落,没有人在乎它了,所以它的一部分(也就是评论系统)就变得不那么重要了。虽然我也觉得过多的留言降低 blog 的质量,有些知名博客总会招惹到一些没有任何价值的评论确实让人讨厌,但有价值的评论我总是非常珍惜的。
“蔡依林的部落格”事件
我在 2007 年三月份,时值我开始写博客一年后的时候,遇到过一次“蔡依林的部落格”事件。当时我感觉比较好笑,对于所谓的蔡依林的部落格也感觉似是而非,但没想到在今天,因为 Octopress 等 blog 系统的出现,它却让我有了不同的感受。
这个事件本身比较幽默,一个人写了一篇文章,起因是他看到一篇新闻说,蔡依林花了五百万(新台币)建立了一个部落格,他上去看了一眼,发现这根本就是一个 web 1.0 的有着个人首页+留言板的站点,因此探讨了 blog 所需要拥有的要素,同时觉得五百万建立一个博客有些夸张。有趣的地方是很多蔡依林的粉丝看都没看文章的内容,就在文章的评论当中发表对蔡依林的“仰慕之情”,让我们可以探讨那个时候的普通网民对于博客的态度,甚至是根本就不知道什么是博客,博客代表的是谁。
不过我今天探讨的问题和这个幽默无关,而是关于 blog 应该有什么要素的讨论。那位仁兄的观点是在 web 2.0 的时代,没有 RSS、Trackback 等功能有些怪。那个时候我的观点是这个网站确实不应该值五百万台币,而网站本身的功能也不完善。结论是当时的很多人都不了解博客,因此只有留言功能,而博客的其它功能都没有实现。这在 Octopress 流传之后让我有种打脸的感觉。
我之前说过的 blog 的要素,Octopress 只保留了 RSS 一项,其它的都是通过插件或第三方网站来完成。也就是说,当时蔡依林的部落格其实加上了 RSS 输出,那么就可以算作是我们今天所认为的 web 2.0 网站了,更何况人家已经有了留言系统。这在 2007 年的时候是我不能想象的。
如今,hijolin.com 这个域名已经没了,蔡依林的那个部落格也早已经不存在了。我也不知道目前蔡依林的官方网站到底有什么东西,或许已经有了 RSS 功能吧。
关于 Brent Simmons 的发布系统
上个星期我读 Shawn Blanc 的博客 的时候,找到了 MarsEdit 的创始人 Brent Simmons 的博客,里面有一篇文章介绍了 Brent 自己写的一个新的发布系统,用来维护自己的博客。
这个系统是用 Ruby 写的,是一个本地程序,用来代替作者上一个用 PHP+MySQL 写的系统。这个名为 wildcat 系统是一个文件夹,由脚本和文章来组成。文章的源文件用 Markdown 书写,存放在特殊的文件夹里,运行时脚本会根据这些源文件生成静态的 HTML 文件,还有 RSS 输出,然后可以把生成的文件传输到服务器中去。这其实和 Octopress 有异曲同工之妙。根据作者 Brent,这个系统的好处在于:
- 整个站点都在自己的硬盘上
- 整个站点都用 git 来做版本控制
- 方便备份,不用数据库
- 在本地可以运行 Apache 来预览结果
- 写几个 XML-RPC 处理器,仍然可以用 MarsEdit 来写博客
- 但也可以用任何其它的编辑器
- 站点在本地可以用 Spotlight 或 grep 和 find 来搜索
- 整个站点的都是静态的页面,所以从一个服务器移动到另一个上非常非常的简单
我觉得他列出的这些优点也可以算作是 Octopress 的优点。不过从我个人的经验来说,除了非常极端的情况下,并不需要做到这个样子。版本控制其它的系统都比不过 git,但对于一个博客来说我看用处不是特别明显。至于其它的一些便利性的优势,我觉得都不是特别明显,有了数据库,迁移起来其实就多了几个步骤而已。至于站点的效率,并非没有大流量的 WordPress 站点,比如说 TechCrunch,虽然说它肯定额外的应用了一些技术,但它们站点发布文章的速度和规模实在是让我难以想象,但效率方面问题并不是很大。而且,一旦站点静态化了,必然的结果就是评论功能要另外实现,我现在还不是很认可这种做法。具体是选择静态化还是传统的 blog 系统,这倒是一个需要取舍的地方。
另外一提,Brent 的博客的外观也非常养眼,字体的可读性非常的高,插入的图片也非常得体,我在 WordPress 的一大群模版中还基本上没有见过能达到如此高度的。如见的博客模版方面,新兴的这些静态化的 blog 系统的水平都超越了传统的 WordPress 等老牌的 blog 系统,这是一个让我比较惊奇的地方。
车东的观点 2004 年之前
写这篇文章之前,我偶然看到了 Delphij 的博客上引用了车东说过的话:
那麼 1997 年起出現的這個新字眼,又代表著甚麼意思呢?所謂的 Weblog 指的是一種以 web 作為呈現媒介的(個人) log 。如果要從各位身邊尋找比較接近的例子的話,或許相當於 BBS上的個人板,或明日報個人新聞台吧。也有人把它稱做網頁型態的日記,不過沒有人規定 weblog 每天一篇,所以或許稱做網頁型態的札記會更恰當。
Delphij 的这篇文章写于 2004 年初,那个时候国内很少有人知道什么是博客,甚至博客这个词语好像还没有诞生或刚刚诞生,中国的网民对于博客还处于一种探索阶段。车东的这段话中简明的定义了:
blog = weblog = web log = log
也就是说,blog 其实是一种 log,对于一个人的网络生活的记录。这种观点在今天看来,其实已经非常落伍了,很明显,记录一个人的网络生活,blog 已经出具了,Facebook 等 SNS 网站也渐渐的淡出,重点还是 Twitter、QQ 等工具引导出来的零碎的信息,才更加符合 log 的形态与定义。
关于在线编辑
接下来我像谈谈所谓的在线编辑。在过去,我对 blog 的坚持认知中,后台的管理界面是非常重要的一点。能不能完成某些功能,做某些工作是否简洁,这些是我么考虑的内容。Octopress 等系统的出现颠覆了这种观点,它用简便的命令行来代替了后台程序。说实话对于某些方面,我对这种政策比较欢迎,尤其是文章编辑方面,在线的编辑器绝对无法满足所有人的需求,因此离线编辑则成为了更好的选择。但如果一个 blog 不可以随地的、在任意一台电脑上编辑,怎么能算得上是 blog 呢?
这种思想跟我过去没有自己的电脑有关系。我在 2007 年 9 月之前,都没有属于自己的电脑。所以过去我写博客或者是借用同学的电脑,或者是趁周末回家里用家里的电脑来发布,也造成了我对于移动性的要求比较高。后来有了自己的电脑,我基本上是电脑随身,因此这种要求也渐渐的淡化了。
在今天看来,后台系统对于 blog 不是必要的,虽然对于大多数的用户来说,有个后台管理系统还是更加方便。但 Octopress 等系统,也确实可以通过命令行和配置文档来很好的解决了这些问题。当然,我对于这些系统没有亲自的使用过,或许并没有发言权。
CMS 还是 Blog
很多发布系统,包括 Octopress,都生成自己的系统可以算是 CMS 了。当然,严格来说,blog 也可以算作是 CMS,但我们普遍的认为 CMS 是 wiki 这种程序所代表的系统。相比来说,两者间更大的差别在于信息的管理形式。Blog 是通过文章和评论来组织的,wiki 也是通过文章,但评论这部分变作协作编辑的形式了,两者之间的输出结果有差别。
这些静态化页面的发布系统,剔除了自己的评论功能,其实在组织形式方面已经往 wiki 上面来靠了。我过去其实挺期待这么一个系统的,因为我不喜欢自己手写 HTML 来维护我的首页,也不喜欢把我的博客放在首页上,所以过去我的首页长期以来都是一个简单的导航页。我当时琢磨的是用类似 wiki 的系统来管理我的首页等相关页面:用 Markdown 写好了页面的内容后,放进某个文件夹内,然后脚本遍历文件夹,生成 HTML 页面,搞定。后来总是没有找到合适的系统,如果那时候我知道了 Octopress 等工具,估计会非常高兴的用它们来管理我的首页了吧。现在我的首页,已经转向到了我用 MoinMoin 管理的一个 wiki 页面了,今天看来其实和 Octopress 等发布系统差不多。
但,一个 blog 真的可以用 CMS 系统来代替么?这一点,我仍然持保留态度,留有跟上面的讨论一样,毕竟我们倾向于把 blog 从 CMS 中区分开来,两者管理信息的形式是不同的。
结尾
对于 blog 的本质是什么,blog 需要有那些元素等问题,或许每个人都有不同的观点,这个不好定论。至于 Octopress 是不是一个好的 blog 系统,这种形式跟传统的 blog 系统究竟孰优孰劣,还是一个需要事件验证的问题。但网络这种东西的发展日新月异,如今我对于 blog 的观念跟 2007 年比已经有了很大的不同,之后又会发展成什么样子,我还无法想象。但我看好这种发展,因为它们非常有活力,也表明了信息产业的未来前途。
有些时候,个人博客只是一个”名词”,没有办法区分原始的”个人网站”.
您尝试过movabletype5吗?
当然,你想说什么?