Things About Comment Systems
This article summarizes the author's experience of switching blog comment systems. The author previously used the Twikoo comment system but ultimately decided to switch to Artalk. After comparing Twikoo and Waline, the author chose Artalk, mainly because Artalk is based on GoLang, is faster, and has a comprehensive management panel. The author used the deployment method provided by Replit rather than deploying Artalk on their own server. For image uploads, the author criticized Upgit's experience and decided to use Artalk's built-in imgUploader, also showing the related code for uploading images. The article ends with a phrase in Japanese.
This post was last updated 2 years ago
The article heavily discusses the current technical limitations, deployment methods, and database support of specific software systems (Twikoo, Artalk, Waline), which are highly prone to changing in future updates.
PrefaceH1#
After consideration, I still replaced the Twikoo comment system that had accompanied me for a year with the current Artalk.
Of course, this doesn't mean Twikoo is bad, it's just that Artalk is more suitable for me at the moment.
I can only say that these two comment systems each have their own advantages and disadvantages. I'm just recording here why I chose Artalk and the bumps along the way in setting it up.
The most obvious problem with Twikoo currently is that its Vercel deployment method only supports MongoDB database, while private deployment only supports its built-in LokiJS database. (Calling out CKY's detalk, which only supports deployment on Deta and only supports Deta's built-in data)
But if we're just talking about the richness of deployment platforms and supported databases, Waline should be the best choice, until I saw its configuration method --> each of its configuration items needs to be filled into environment variables separately. For someone like me who likes to delete databases, reset environments, and reconfigure to solve problems whenever I encounter issues, this configuration method is really too painful.
So I chose Artalk
ArtalkH1#
This is a GoLang-based comment system, so it's very fast and has a comprehensive management panel for convenient comment management.
Actually, I didn't deploy Artalk on my own server, but chose the Replit deployment method recommended to me by Xlenco.
I'm calling out upgit here for criticism. I don't want to say much more here, the image upload experience is extremely poor (but I still have to add that we should refuse to abuse GitHub and other public CDN acceleration services)
So here I used Artalk's built-in imgUploader to upload images
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);
}Code snippet provided by Zkeq
Supports lsky-pro image upload
ClosingH1#
Gotta go, Artalk's CSS looks a bit out of place on my blog, but I'm too lazy to fiddle with it, let it be

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