采用wordpress搭建类似Hacker News网站(wordpress Hacker News 主题)
或许你看到题目感觉这是一个很无厘头的事情,因为Hacker News本身就开源;还有Reddit,也是开源;国产的还有iNews,使用wordpress搭建Hacker News的网站就是自己找事。不过我是一个比较喜欢折腾的人,还是实现了一个。先看地址:http://gistag.net
是不是很像,这可是wordpress搭建的哦,说说这么做的原因吧。
1.1 Hacker News
Hacker News本身开源不假,但是Hacker News使用的是Arc Lisp,这是一种神的语言。从我的个人条件来说是有难度的,我没有VPS,用的是虚拟主机;避开Lisp语言本身的困难,环境搭建就是个问题。
1.2 Reddit
Reddit也是一套优秀的算法,并且有Python的开源代码,不喜欢Reddit的主要原因是不喜欢点击文章标题要进入本站索引的内容页面,当然我也没有Python的主机。
1.3 iNews
国产的Hacker News,PHP开发,本来是要选择这个的,终于找到了无所不能的PHP版本的Hacker News,但是iNews对PHP的版本有要求,我的虚拟主机不支持,于是放弃。
1.4 小结
从上面可以看出,我的主要矛盾就是我干瘪的钱包和VPS价格的矛盾,既然没有条件,那就创造条件。我开发过一些wordpress的主题,能不能用wordpress主题的思想做一个Hacker News呢?于是有了今天的这个探索。
下面是我整个的开发思想,有兴趣的可以继续阅读,伸手党可以放弃了,我不会给伸手这个机会的。
2.1 算法的选择
感兴趣的可以阅读这三篇文章:
基于用户投票的排名算法(一):Delicious和Hacker News
基于用户投票的排名算法(二):Reddit
基于用户投票的排名算法(三):Stack Overflow
从算法上,我主要比较了Reddit和Hacker News,这里我没有选择Hacker News算法,而是选择了Reddit的算法。因为Hacker News在一个时间变量,是一直变化的,这对性能来说 可能 是一个挑战,因为我是用自定义字段来存储变量的。相反在Reddit的算法中,T是一个固定值,这对我来说是可以控制的。
2.2 技术的方案
选择好的算法,下面的事情就是开发主题了;如上所说,使用的wordpress的自定义字段方法来存储算法的变量,生成页面的时候根据自定义字段排序;用户投票改变Score。整体来说就是这么一个流程,另外有点偷懒使用了Disqus(国内可以使用多说这种)。
3.0 获取这个主题
主题停止更新,不提供下载了。
4.0 后话
相信有大多数人看完付费就已经关闭页面了吧,也好,不解释;遍身罗绮者,不是养蚕人。
自从Google reader关闭以后,我就一直在找一款可以阅读科技类的文章的工具。试过几款,包括网易云阅读、有道阅读、QQ阅读,但是可惜没有一款能够满足我的需求,有道阅读的功能和Google Reader很像了,但是我自定义了几个RSS都不可以用,索性放弃。
后来就用现在个自己搭建的工具了,现在还不能自动采集数据自动更新,准备抽个时间去写一个采集工具,如果你购买了主题,我会同步发送工具的。
END