On The Way ...
我自认为自己玩过很多blog程序,而认识textpattern好像还是在去年的愚人节,wordpress发布了一则“假”新闻,说wordpress要和textpattern合并了。在那以前我根本不知道这款实际已经存在许多年,而在国外流传甚广的PHP Blog软件。实际上当时我刚刚把它下载回来,就没有再用下去的欲望了。因为被wordpress宠坏了的我,发现Textpattern几乎空无一物,撰写日志的时候没有所见即所得还算可以理解,可是它居然连快速的标签插入功能都不提供,于是这个软件渐渐被我遗忘了。直到后来,我开始被wordpress的臃肿折磨得无法忍受,我发现自己仅仅需要的是一款简单易用快速的软件。但很遗憾,我一直想不起来有Textpattern的存在,于是我选择了自己开发一款软件,也就是你们现在看到的Magike系统。
这些日子一直有人在问我要Magike的“相关文章”插件,大家也不理解为什么像“相关文章”用户体验这么好的东西,为什么我不放到程序中。实际上我要说的是,像blog这种个人站点如果消耗自己的资源来做相关文章实际上是得不偿失的。首先是消耗服务器资源,相关文章的匹配查询是很消耗资源的,无论你做什么样的优化都是如此。其次是准确度也有问题,如果你想让查询更加轻便那么准确度就会下降。
那么有没有比较好的解决方案呢?答案是肯定的。我们可以通过google提供的API来打造完全适合本站的文章关联服务,如果你熟悉google的API你会发现它提供了一个叫做Google Feed Ajax的API,这个API可以跨域地实现feed的调用。没错,它是跨域的,但是通常我们都说AJAX是无法跨域的,难道google有什么独门秘笈或者后门吗,其实google使用的并不是ajax技术。如果你用过jQuery,那么你肯定知道jquery里面有一个getScript的API,它在1.2.0的版本后增加了一个新特性"across domain",就是跨域。在1.2.0以前这个函数是无法实现跨域的,因为它使用的是ajax方法把js从本域中取出然后执行,而1.2.0以后它是通过在header里面把script节点动态增加进去实现跨域调用的,因为我们都知道,script标签是可以调用其它站点的js脚本的,而一旦你动态的修改了header里面的节点,浏览器就会自动去下载并执行这些资源(这是浏览器的特性决定的),这种跨域的实现颇有些hack的味道,但是的确非常可行,因为已知的浏览器都支持这种方式。
在我写这篇文章的时候,Magike 1.1.0的RC版就快诞生了.从我在exblog团队接触php blog到现在已经是3个年头了,从当时对blog作者的神般崇拜到现在开始写博客软件,这期间的经历让人颇为回味.exblog作为国内第一款团队维护的blog,以一个先行者的姿态带给了我们这些后来者很多启迪,虽然它无声无息地倒掉,虽然没有激起太大的风浪,但是他给我的东西是让我感激终生的.我也和很多用户一样,对一些blog软件的作者发表过不满,总觉得他们没有满足自己的需求.但是当自己开始做软件的时候,才知道做到这个程度需要花费多少精力,并不是我借机抬高自己.但是当你真的体会到这一切时,你一定会跟我有同样的感受.所以到现在我是打心眼里佩服那些做开源软件的人了(...别扯上我).
joyqi.com马上要换皮了,所以把原来的皮肤和sluke制作的一套皮肤提供给大家下载。把压缩包解开,拷贝到templates目录下面,然后在“后台->外观”选择刚刚下载的皮肤就可以了。
您可以通过RSS阅读器订阅这个地址,RSS是一种内容聚合格式,它能够帮助你快速发现内容.
如果您喜欢本网站,可以点击这里把它加入到您的Technorati,或者加入到del.icio.us收藏夹.
本网站使用Magike博客系统搭建,Magike是一种易用而且强大的PHP博客平台,您可以访问其官方网站了解更多.
对本网站的某些评论可能会被判断为垃圾评论,我会尽量恢复被误判的评论,对您造成的不便尽请原谅.