长河第一次知道Gravatar,还是在sinoblog的留言系统中,每一位留言的朋友都拥有自己的个性头像,效果很好。长河一直希望在blog中拥有论坛一样的交流体验,同时又能避免论坛注册的麻烦和积分的束缚,这是一个博客提升档次的重要表现,毕竟长河还算不上一个自恋的人,不喜欢搞那些“我的地盘我做主”之类的活动——通过交流增长知识、获得灵感才是清溪长河博客的宗旨所在。
在国外已经很成熟的WordPress博客系统中,已经有很多中插件可以实现“将博客转变成论坛”之功能了,可清溪长河使用的Zblog系统由于生成纯静态网页(这也是我选择它的主要原因),实现那样的动态效果有些困难。于是,Gravatar便成为我的一个折中的解决办法。
什么是Gravatar?
Gravatar是国际上流行的一种网络服务,网址是http://en.gravatar.com/,用途在于提供“与邮箱绑定的通用头像”。即,Gravatar的注册用户,在支持其服务的网站上留言,只需输入邮箱,就会显示出用户绑定的自定义个性头像图片。
使用Gravatar的好处有哪些?
第一就是个性十足,我想这就不必我多讲了;第二,可以作为用户在参与网站活动的身份标识,即便是用户名相同,只要绑定的邮箱不同,头像也就不同。
Gravatar会暴露我的邮箱地址么?
不会,因为Gravatar使用MD5加密的方法保护邮箱地址,所以请相信,使用头像系统不会暴露您的隐私。补充一点,在清溪长河留言的许多朋友,没有注意保护自己的邮箱地址。邮箱地址也是个人隐私的一部分,给长河留下联系方式时,只需要在留言区“邮箱”输入框中输入就可以了,不需要在留言正文中写下邮箱地址,我会看到的。邮箱地址的过度暴露,容易招致数以万计的垃圾邮件纷至沓来,后果可想而知(尤其对使用Gmail的朋友们而言)。
什么样的图片可以用作头像?
这是我使用Gravatar的重要原因,虽然原则上任何图片都可以作为头像使用,不过Gravatar的管理员会根据图片的性质进行人工分类(类似于电影的分级),内容不雅的图片是不会被通过的——这点很重要,河蟹不好吃 O(∩_∩)O~
好了,说了那么多,该整正经的啦:zblog中如何安装Gravatar呢?
1.修改Zblog模板中b_article_comment.html页面代码,在你认为合适的地方加入:
<img class="avatar" alt="还没有绑定邮箱的头像?赶紧到Gravatar.com去申请吧!" border="0" src="http://www.gravatar.com/avatar.php?gravatar_id=<#article/comment/emailmd5#>" />
2.修改CSS文件(不同的皮肤,文件名不一样),增加avatar的部分,长河的CSS设置如下所示,仅供参考。
.avatar { background-repeat:no-repeat; float:right; height:80px; width:80px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #CCCCCC; border-right-color: #CCCCCC; border-bottom-color: #CCCCCC; border-left-color: #CCCCCC; margin-top: -1px; margin-right: 5px; margin-bottom: 1px; margin-left: 1px; }
如果其他问题,欢迎与我联系,展开讨论。在这里顺便祝大家假日愉快!
---------------------------------------------------------------------------------------------
感谢Palfans在思路上的提示,长河终于实现了在“回复留言”区域也添加头像的想法。
头像部分,加上默认头像:
<img class="avatar" src="http://www.gravatar.com/avatar.php?gravatar_id=<#article/comment/emailmd5#>&default=http%3A%2F%2Fwww.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536" alt="Gravatar头像" border="0"/>
在c_function.asp的约704行,找到如下代码:
strContent= objRegExp.Replace(strContent,"<blockquote><div class=""quote quote3""><div class=""quote-title"">$2</div>$4</div></blockquote>")
修改为:
strContent= objRegExp.Replace(strContent,"<blockquote><img class=""avatar"" src=""http://www.gravatar.com/avatar/2334cfb5f3adee88c5c810b4a64d49cc?s=80&r=g"" alt=""Gravatar头像""/><div class=""quote quote3""><div class=""quote-title"">$2</div>$4</div></blockquote>")
说明:这里直接插入了长河的头像,是由于每次“回复留言”的时候若都要输入邮箱,的确麻烦了一些。况且目前清溪长河设置成只有注册用户才能回复,故而也无大影响。回复部分和留言部分的CSS可以定为不同的效果,不过我在这里公用罢了。
若有朋友希望减少头像载入时间,可以尝试在b_article_comment.html中加入<div class="avatar"></div>,在CSS中,定义avatar的背景图像为avatar头像地址即可。不过此时,头像大小就要通过图片地址后面的“?s=80&r=g”来控制了,比如需要64X64的头像,则修改为?s=64即可(r=g 是控制图片的显示级别,不设置亦可)。
我也想测试一下好了没