关于评论系统那些事情
这篇文章总结了作者更换博客评论系统的经过。作者曾使用Twikoo评论系统,但最终决定更换为Artalk。在对Twikoo和Waline进行比较后,作者选择了Artalk,主要是因为Artalk基于GoLang,速度更快,且拥有全面的管理面板。作者使用了Replit提供的部署方式,而非在自己的服务器上部署Artalk。对于图片上传,作者批评了Upgit的体验,并决定使用Artalk前端自带的imgUploader,还展示了相关的上传图片的代码。文章以一段日语表达结尾。
本文最后更新于 1 年 9 个月 前
文章涉及具体的第三方评论系统对比、特定云平台(Vercel, Replit)部署方案及代码配置。这类技术实现高度依赖外部服务政策和软件版本,极易随时间失效。
前言H1#
在考虑过后,我还是将陪伴了我一年的Twikoo评论系统更换成了现在的Artalk。
当然也并不是说twikoo不好,只是对于目前的我来说artalk更加的合适。
只能说这两个评论系统各有优点和缺点,我只是在这里记录一下我为什么会选择artalk,以及我搭建它的那些磕磕绊绊。
twikoo目前最明显的问题就是它Vercel搭建方式仅支持mongoDB数据库,而私有部署仅支持其内置的LokiJS数据库。(点名CKY的detalk,只支持部署在Deta上且只支持Deta内置的数据)
但如果单凭部署平台的丰富程度以及支持的数据库丰富程度来说,waline才应该是最好的选择,直到我看到了它的配置方式-->它的每一个配置项都需要单独填进环境变量里,对于我这种遇到问题就喜欢删库,重置环境,重新配置进而解决问题的人来说,这个配置方式真的是太痛苦了。
所以我选择了Artalk
ArtalkH1#
这是一种基于GoLang的评论系统,所以它的速度会很快,并且拥有一个全面的管理面板,可以方便的管理评论。
实际上我并没有将artalk部署在我自己的服务器上,而是选择了Xlenco推荐给我的Replit部署方式。
我在这里点名批评upgit,我在这里不想多说啥了,图片上传体验极差 (但是我还是得补上一句,拒绝滥用github及其他公益cdn加速服务)
所以我在这里使用了Artalk前端自带的imgUploader上传图片
imgUploader: async (file) => {
const formData = new FormData()
let headers = new Headers();
formData.set('file', file)
headers.append('Authorization', 'Token');
headers.append('Accept', 'application/json');
return fetch('https://example.com/api/v1/upload', {
method: 'POST',
headers: headers,
body: formData,
})
.then((resp) => resp.json())
.then((resp) => resp.data.links.url);
}代码片段由 Zkeq 提供
支持lsky-pro图片上传
尾语H1#
溜了溜了,artalk的css在我的博客上显得有点突兀,但是我懒得折腾了,随他去吧

えい、えい、むん!
所以这个评论系统使用的是什么呢