天翔TNXGの空间站

关于评论系统那些事情

2023-01-12 08:25预计阅读时间: 1 分钟
/
173

Summary

这篇文章总结了作者更换博客评论系统的经过。作者曾使用Twikoo评论系统,但最终决定更换为Artalk。在对Twikoo和Waline进行比较后,作者选择了Artalk,主要是因为Artalk基于GoLang,速度更快,且拥有全面的管理面板。作者使用了Replit提供的部署方式,而非在自己的服务器上部署Artalk。对于图片上传,作者批评了Upgit的体验,并决定使用Artalk前端自带的imgUploader,还展示了相关的上传图片的代码。文章以一段日语表达结尾。

前言

在考虑过后,我还是将陪伴了我一年的Twikoo评论系统更换成了现在的Artalk。

当然也并不是说twikoo不好,只是对于目前的我来说artalk更加的合适。

只能说这两个评论系统各有优点和缺点,我只是在这里记录一下我为什么会选择artalk,以及我搭建它的那些磕磕绊绊。

twikoo目前最明显的问题就是它Vercel搭建方式仅支持mongoDB数据库,而私有部署仅支持其内置的LokiJS数据库。(点名CKY的detalk,只支持部署在Deta上且只支持Deta内置的数据)

但如果单凭部署平台的丰富程度以及支持的数据库丰富程度来说,waline才应该是最好的选择,直到我看到了它的配置方式-->它的每一个配置项都需要单独填进环境变量里,对于我这种遇到问题就喜欢删库,重置环境,重新配置进而解决问题的人来说,这个配置方式真的是太痛苦了。

所以我选择了Artalk

Artalk

这是一种基于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图片上传

尾语

溜了溜了,artalk的css在我的博客上显得有点突兀,但是我懒得折腾了,随他去吧

えい、えい、むん!

关于评论系统那些事情
Author天翔TNXG
Update date2024-04-14