これは、スレッドと返信をツリーベースの形式で表示するように設計された 4chan (https://4chan.org) の読み取り専用クライアントです。
4chan がスレッドへの返信を整理する方法は非常に方向感覚を失い、会話の流れを決定するのに役立たないと思います。 4chan Web クライアントでは、返信は最初に投稿された順序でフラット リストに表示されます。
スレッドがより多くの返信を受け取ると、当然のことながら、返信チェーンの形で複数の会話が形成され始めます。ここから、チェーンへの後続の追加はすべて、大きな時系列リストに追加されるだけです。
これは、上記のリストをスクロールしていると、互いにほとんどまたはまったく関係のない複数の返信チェーンからの投稿が常に織り交ぜられていることに遭遇することになり、常にコンテキストを切り替える必要があり、どのチェーンに返信されているかを注意深く確認する必要があることを意味します。会話を続けるために実際に返信します。
総じて、迷惑です。
これが、このプロジェクトが存在する理由です。実際には適切に表示されるため、一連の返信を追跡することが非常に簡単になりました。投稿への返信はその子となり、1 つ深いレベルに表示されます。 Reddit のコメントもこのように構成されており、ユーザー エクスペリエンスを 10 倍向上させる非常に直感的なシステムだと思います。
このアプリは Svelte で書かれており、nginx を 4chan の API サーバーへの CORS プロキシとして使用して、ほぼ完全にクライアント側で実行されます。アプリのホストと CORS プロキシとして機能する 1 つの nginx コンテナーを実行できるため、非常にコンパクトでデプロイが簡単になります。
アプリのサイズは、すべての HTML、JS、CSS アセットを含めて約38.43 KB
です。 Gzip を使用すると、合計14 KB
まで圧縮されます。ビルドは Vite ビルド システムによって行われ、型は TypeScript を使用してコード内で強制されます。
スレッドの画像は、ブラウザのビューにスクロールされるたびにロードされ、4chan の API へのスパム API 呼び出しを排除することを目的としています。 nginx CORS プロキシは、リクエストの真の送信元を示すために、すべてのリクエストにX-Forwarded-For
とX-Real-IP
ヘッダーも添付します。
Treechan を実行するには、Docker と Git が必要です。ビルドプロセスは利便性のために完全にコンテナ化されているため、NodeJS をホストにインストールする必要はありません。
Docker がインストールされていることを確認するには:
$ docker -v
Docker version 20.10.21, build baeda1f82a
$ git -v
git version 2.38.1
Docker と git のバージョンが一致している必要はありません。最新のものであることを確認してください。
次に、Git を使用してリポジトリのクローンを作成する必要があります。これはビルド スクリプトを実行するために重要です。GitHub から zip ファイルをダウンロードしないでください。
$ git clone --depth=1 https://github.com/xxcodianxx/treechan.git
これで、付属のrun.sh
スクリプトを使用するだけで、treechan がインストールされ、実行されます。
$ ./run.sh
ネットワークのダウンロード時間を除けば、インストールは非常に高速です (約 2 秒)。
デフォルトでは、サーバーはポート8080
で実行されますが、これは./run.sh
ファイルの先頭で変更できます。
おめでとうございます。これで、treechan が実行されます。ローカル マシンでこれを行った場合は、http://localhost:8080 にアクセスして楽しむことができます。
サーバー上でこれを行った場合は、 localhost
サーバーの IP に置き換えるだけです。ポート8080
または選択したポートをポートフォワードすることを忘れないでください。