Friday, October 17, 2008

Blogger 的相关文章和热门文章

看到很多别人的 Blog 在文章页面下方都有“相关文章”和“热门文章”的列表,无疑能够增加访问者继续阅读文章的兴趣。可是 Google 的 Blogger 没有这样的功能,于是自己想办法也添加了一个。

由于 Blogger 并没有提供相关的模板标签(Tags)来支持这样的功能,因此自己只好用 PHP 和 MySQL 建立了一个简单的数据维护和查询系统,然后用 AJAX 的方式在页面上显示出来。具体来讲有以下内容:
  • 利用 Google Blogger 的 Feed 接口将文章的 ID、标题、标签、URL、发布及修改时间等内容用程序导入到数据库。
  • Google Analytics 的页面浏览数统计(统计报告 » 内容 » 最常见内容)数据导出成文本文件,再通过程序导入到数据库。
  • 用 PHP 建立一个“相关文章”的查询接口。输入参数为文章的 ID,输出为指定数量的相关文章列表。具体算法上,先用 ID 查出基准文章的标签,然后在数据库中文章中比对标签匹配的数量,按照标签匹配数量从多到少找出相关的文章。
  • 对于热门文章,有两种计算方法。一种是按有史以来所有文章的浏览量来排序,但是用这种方法得到的结果,基本上都是 2005 年很老的文章,而很多有意义的新文章却很难出现。于是我采用了另一种算法,即按照每日平均浏览量来排序,这样比较新的浏览量比较大的文章也能出现了。

修改好模板以后,将整个 Blog 重新发布,现在这些功能已经调试好并上线了。顺便抱怨一下,对于用 FTP 发布的 Blogger 来讲,帖子多了以后,整站重新发布,真是一个漫长的过程啊。

在修改模板的同时,也顺便改了一下首页上提示阅读全文的方式,将原来的“点击这里阅读全文”的文字链接改成了图标,希望这样看起来更醒目一些,在我另一个非技术的 Blog 上可以看到效果。

另外,最初做的模板的 PSD 文件找不到了,也忘了当时在标题部分用的哪种字体。这给后面添加新的标题带来很多麻烦。于是趁这次修改模板,一并将标题的图片都修改了。找了很多字体,也研究了很久,挑了 10 种非衬线(Sans Serif)字体出来,最后选中的竟然是 Windows XP 自带的 Lucida Sans Unicode。

3 comments:

Tao Ge said...

嘿,菜鸟向你请教!

怎么才可以在出现提示全文阅读的图标啊?具体怎么做的呢?

one2seven@gmail.com

谢谢!

Anonymous said...

我的实现方法有这么几个要点:
- 在编辑文章时,摘要以外的部分,即在首页不显示的部分用固定的 HTML 标签包含起来,如 div class="postfull"
- 在模板中首页的每个帖子最后预留好“阅读全文”的图标和链接
- 控制首页的 CSS,隐藏 div.postfull 以及“阅读全文”图标
- 在首页加载完成后执行 JavaScript,扫描页面内所有文章,如果正文中出现 div.postfull,则显示对应的“阅读全文”图标

另外,也可以参考这篇文章

Anonymous said...

[url=http://levitranowdirect.com/#zwtfa]levitra online[/url] - cheap generic levitra , http://levitranowdirect.com/#uubej levitra online without prescription