逛掘金的时候无意间看到一个帖子提到了Twikoo,正巧现在的Blog缺少了一个文章评论功能,于是就打开官方文档研究了下,意外发现可以满足自己想要的评论功能,目前已经把Twikoo接入到Blog中了。
过去使用Typecho的时候是可以直接游客身份提交留言的,而Hexo有一些评论插件,如hexo-plugin-gitalk可以使用Git作为评论数据存储的插件,也有hexo-fbcomments(fb评论区)、hexo-disqus-proxy(disqus评论区)第三方评论插件。因为相应的Hexo插件都需要依赖三方账号,评论需要登录,管理也很麻烦,所以最后都没有接入。
Twikoo
在最初迁移的时候,对于Blog的想法就是降本(选择Hexo的根本原因是可以生成静态网站,以极低的成本部署到OSS上),所以对于评论、阅读统计等功能都放弃掉了,哪怕后续重新迁移到了ECS,也放弃了回归Typecho的想法。所以此时对评论功能的要求有以下几点:
- 无需登录:类Typecho的方式进行游客评论。
- 引用方便:最好一套SDK搞定,不要强关联很多页面及数据;后期如果想要停止功能也可以很快移除。
- 数据备份:备份&迁移方便,支持后续数据导出、评论服务器迁移。
而Twikoo不仅完美的满足了以上要求,还有几个额外功能特点:
- 接入简单:只需要引用一个JS文件,简单配置即可完成接入,目前已经封装成一个小组件,可以通过Hexo配置项完成启禁用。
- 迁移方便:后续如果不使用ECS了,也可以通过云函数的方式以极低成本部署Twikoo。
- 评论限制:既可以控制单IP某个时间段内的频率,又可以快速接入人机验证、反垃圾等三方SDK。
- 评论管理:支持显示博主标识、在每个页面下可以管理评论显示/隐藏、删除等功能。
- 数据管理:支持快速导入/导出评论内容,同时还附带了每个页面的访问数据统计(目前页面上的阅读数据就是Twikoo提供的)。
目前已经通过Docker部署的形式稳定运行了一段时间,内存占用稳定在70MB左右,还是非常不错的。
docker运行占用