它是 4chan (https://4chan.org) 的唯讀客戶端,旨在以基於樹的格式顯示線程和回應。
我發現 4chan 組織回覆的方式非常令人迷惑,並且對確定對話流程沒有幫助。在 4chan Web 用戶端中,回覆依照最初發布的順序顯示在平面清單中。
隨著線程獲得更多回复,很自然地開始形成回复鏈形式的多個對話。從這裡開始,鏈中的每個後續添加都將添加到按時間順序排列的大列表中。
這意味著,如果您滾動瀏覽該列表,您將遇到來自多個回复鏈的帖子,這些回复鏈彼此幾乎沒有任何關係,不斷交織在一起,迫使您不斷切換上下文,並要求您仔細驗證回復是哪個鏈實際上回復是為了跟上對話。
總而言之,這很煩人。
這就是這個項目存在的原因 - 現在很容易追蹤回覆鏈,因為它實際上已正確顯示!對帖子的回應成為其子帖子,並顯示得更深一層。這也是 Reddit 建立評論的方式,我相信這是一個非常直觀的系統,可以十倍地增強用戶體驗。
該應用程式是用 Svelte 編寫的,幾乎完全在客戶端運行,使用 nginx 作為 4chan 的 API 伺服器的 CORS 代理。您可以運行一個 nginx 容器,該容器既託管應用程式又充當 CORS 代理,使其非常緊湊且易於部署。
該應用程式大小約為38.43 KB
,包括所有 HTML、JS 和 CSS 資源。使用 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
或您選擇的連接埠。