多说离开也不是一天两天的事情了。怀念 WordPress 自带的评论系统。我一开始就用 Disqus 社会化评论?,现在也彻底富强民主文明了。从 Hexo 换回了 Ghost ,数据库有了可评论系统还是不存在。也有如 isso 这样的纯粹的评论系统,就是喜欢不起来。考虑造个轮子。
造轮子
学习 Android 时顺便用了下 LeanCloud 的存储服务,有免费的开发者版提供,用起来很顺手。
开发者版的主要资源指标:10 GB 免费空间,3,0000 API请求/天。普通博客足够了。
昨天下午去看 JavaScript 的文档,准备干活;晚上到宿舍顺手搜了下『LeanCloud 评论』,几小时前一个轮子已经诞生了——Valine 一款极简的评论系统。不知道是该高兴呢还是该高兴呢。总有人阻止我学 JavaScript!?
欲求总是无法填满的:数据迁移是个问题。熬夜用 Python 写了个 Disqus2LeanCloud,考虑到不是谁都有 Python 环境,做成 Web 服务可以方便大家(骗点流量)。翻了翻 Flask 的文档就上手做了,放到了自己的主机上 Disqus2LeanCloud。第一次用 Flask,Python 放开也有段时间了(学校天天逼着用 Java,我的信仰快动摇了)。
数据迁移说明
- 导出数据:去 Disqus 把数据导出,系统会发压缩包到邮箱,解压出.xml文件备用;
- 安装好Valine 评论系统,暂时不要设置 Web 安全域名(不然人家怎么进去);
- 备好你的 APP ID 和 APP KEY,再次强调不要设置 Web 安全域名先;打开Disqus2LeanCloud,填写 APP ID 和 APP KEY,选择 .xml数据文件,点击开始即可;
- 没了。去设置你的 Web 安全域名。
效果
导入完成效果如下,由于 Valine 采用 LeanCloud 默认生成的时间作为评论时间,而这个时间有只读属性,所以没能把 Disqus 中的时间迁移过来。若以后有时间会继续完善。
小结
Valine 的样式简洁清新,比起 isso 等更令人有食欲。更重要的是,借助LeanCloud部署极其方便快捷。
当然,现阶段也有很多需要完善的地方 @云淡风轻,比如邮件通知功能。既然褥 LeanCloud 的羊毛,就物尽其用。虽然 LeanCloud 没有提供邮件系统,但有完善的用户系统,包括注册邮箱验证和重置密码邮箱验证(看起来没有单独规定调用次数限制),而且邮件模板可以随便修改。虽然不设置注册和登录,但可以把用户功能用起来,使用邮箱作为用户唯一标识,收到 @ 请求时对相应用户发送密码重置邮件即可,这样也顺便解决了 Comment 表数据冗余的问题。
用户Gavatar头像也比较容易,可以使用LeanCloud的文件存储进行头像缓存。
现阶段看来,用 Valine 是个不错的评论系统解决方案。希望 LeanCloud 挺住。