Article

コメントシステムについてのあれこれ

AI 要約

この記事は、著者がブログblogのコメントシステムを変更した経緯をまとめたものです。著者はかつてTwikooコメントシステムを使用していましたが、最終的にArtalkに変更することを決めました。TwikooとWalineを比較した結果、著者はArtalkを選択しました。主な理由は、ArtalkがGoLangベースで速度が速く、包括的な管理パネルpanelを持っているためです。著者は自分のサーバーserverにArtalkをデプロイdeployするのではなく、Replitが提供するデプロイdeploy方法を使用しました。画像アップロードuploadについては、著者はUpgitの体験を批判し、Artalkフロントエンドfrontendに標準搭載されているimgUploaderを使用することを決め、関連する画像アップロードuploadコードcodeも紹介しています。記事は日本語の一文で締めくくられています。

カスタマイズ公開·更新·言語 中国語 -> 日本語·AI 翻訳
#オリジナル
Time Capsule期限切れになりやすい内容

この記事の最終更新は 2 年 前です

TwikooやArtalkなどの特定のソフトウェアの仕様、およびVercelやReplitといったデプロイプラットフォームの現在の制限事項が詳細に記載されており、将来のバージョンアップで情報が陳腐化する可能性が高いため。

現在のArtalkに変更現在の私にとってはTwikooの現在最も明らかな問題はVercelでの構築方法がMongoDBデータベースのみをサポートDeta上でのデプロイのみをサポート

はじめにH1#

検討した結果、1年間使ってきたTwikooコメントシステムを現在のArtalkに変更することにしました。

もちろんTwikooが悪いというわけではなく、現在の私にとってはArtalkの方がより適しているというだけです。

この2つのコメントシステムにはそれぞれ長所と短所があり、ここでは私がなぜArtalkを選んだのか、そしてそれを構築する際の試行錯誤について記録しておきます。

Twikooの現在最も明らかな問題は、Vercelでの構築方法がMongoDBデータベースのみをサポートし、プライベートデプロイdeployは内蔵のLokiJSデータベースdatabaseのみをサポートしていることです。(CKYのdetalkを名指しで批判しますが、Deta上でのデプロイdeployのみをサポートし、Deta内蔵のデータのみをサポートしています)

しかし、デプロイdeployプラットフォームplatformの豊富さとサポートするデータベースdatabaseの豊富さだけで言えば、walineが最良の選択であるはずですが、その設定方法を見るまでは-->すべての設定項目を環境変数に個別に入力する必要があり、問題に遭遇するとすぐにデータベースdatabaseを削除し、環境をリセットresetし、再設定して問題を解決するのが好きな私のような人間にとって、この設定方法は本当に苦痛でした。

そこで私はArtalkを選びました

ArtalkH1#

これはGoLangベースのコメントシステムなので、速度が非常に速く、包括的な管理パネルpanelを持ち、コメントを便利に管理できます。

実際には、Artalkを自分のサーバーserverデプロイdeployしたわけではなく、Xlencoが推薦してくれたReplitでのデプロイdeploy方法を選びました。

ここでupgitを名指しで批判します。ここではあまり多くを語りたくありませんが、画像アップロードuploadの体験が極めて悪いです (ただし、GitHubやその他の公益CDN加速サービスserviceの濫用は拒否すべきだと付け加えておきます)

そこで、ここではArtalkフロントエンドfrontendに標準搭載されているimgUploaderを使って画像をアップロードuploadしました

js
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スニペットsnippetZkeqにより提供

lsky-pro画像アップロードuploadをサポート

おわりにH1#

それでは失礼します。ArtalkのCSSが私のブログblog上で少し浮いて見えますが、もういじるのが面倒なので、そのままにしておきます

えい、えい、むん!

Copyright & License
© 2023 - 2024 天翔TNXG
コメントシステムについてのあれこれ
CCクリエイティブ・コモンズ・ライセンス
BY表示:原作者のクレジット表示が必要です
NC非営利:営利目的での利用は禁止です
SA継承:同じライセンスで共有する必要があります
ライセンス:表示-非営利-継承