コメントシステムについてのあれこれ
この記事は、著者がブログのコメントシステムを変更した経緯をまとめたものです。著者はかつてTwikooコメントシステムを使用していましたが、最終的にArtalkに変更することを決めました。TwikooとWalineを比較した結果、著者はArtalkを選択しました。主な理由は、ArtalkがGoLangベースで速度が速く、包括的な管理パネルを持っているためです。著者は自分のサーバーにArtalkをデプロイするのではなく、Replitが提供するデプロイ方法を使用しました。画像アップロードについては、著者はUpgitの体験を批判し、Artalkフロントエンドに標準搭載されているimgUploaderを使用することを決め、関連する画像アップロードのコードも紹介しています。記事は日本語の一文で締めくくられています。
この記事の最終更新は 2 年 前です
TwikooやArtalkなどの特定のソフトウェアの仕様、およびVercelやReplitといったデプロイプラットフォームの現在の制限事項が詳細に記載されており、将来のバージョンアップで情報が陳腐化する可能性が高いため。
はじめにH1#
検討した結果、1年間使ってきたTwikooコメントシステムを現在のArtalkに変更することにしました。
もちろんTwikooが悪いというわけではなく、現在の私にとってはArtalkの方がより適しているというだけです。
この2つのコメントシステムにはそれぞれ長所と短所があり、ここでは私がなぜ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が私のブログ上で少し浮いて見えますが、もういじるのが面倒なので、そのままにしておきます

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