เป็นไคลเอนต์แบบอ่านอย่างเดียวสำหรับ 4chan (https://4chan.org) ที่ออกแบบมาเพื่อแสดงกระทู้และการตอบกลับในรูปแบบต้นไม้
ฉันพบว่าวิธีที่ 4chan จัดการตอบกระทู้นั้นสับสนและไม่มีประโยชน์ในการตัดสินความลื่นไหลของการสนทนา ในเว็บไคลเอ็นต์ 4chan การตอบกลับจะแสดงในรายการแบบเรียบ ตามลำดับที่โพสต์ไว้แต่แรก
เมื่อเธรดได้รับการตอบกลับมากขึ้น เป็นเรื่องปกติที่การสนทนาหลายรายการในรูปแบบของห่วงโซ่การตอบกลับจะเริ่มก่อตัวขึ้น จากที่นี่ ทุกการเพิ่มเติมที่ตามมาในห่วงโซ่จะถูกเพิ่มลงในรายการลำดับเวลาที่สำคัญ
ซึ่งหมายความว่าหากคุณเลื่อนดูรายการดังกล่าว คุณจะพบกับโพสต์จากกลุ่มการตอบหลาย ๆ รายการที่ไม่ค่อยเกี่ยวข้องกันหรือไม่มีอะไรเกี่ยวข้องกันอย่างต่อเนื่อง บังคับให้คุณสลับบริบทอยู่ตลอดเวลา และต้องให้คุณตรวจสอบอย่างรอบคอบว่าการตอบกลับของลูกโซ่ใด จริงๆ ตอบกลับเพื่อติดตามการสนทนา
โดยรวมแล้วมันน่ารำคาญ
นี่คือเหตุผลว่าทำไมโครงการนี้ถึงมีอยู่ - ตอนนี้มันง่ายมากที่จะติดตามการตอบกลับเพราะมันแสดงอย่างถูกต้องจริงๆ! การตอบกลับโพสต์จะกลายเป็นรายการย่อยและแสดงให้ลึกซึ้งยิ่งขึ้นไปอีกระดับหนึ่ง นี่คือวิธีที่ Reddit จัดโครงสร้างความคิดเห็นเช่นกัน และฉันเชื่อว่ามันเป็นระบบที่ใช้งานง่ายซึ่งช่วยเพิ่มประสบการณ์ผู้ใช้เป็นสิบเท่า
แอปนี้เขียนด้วยภาษา Svelte และรันฝั่งไคลเอ็นต์เกือบทั้งหมด โดยใช้ nginx เป็นพร็อกซี CORS ไปยังเซิร์ฟเวอร์ API ของ 4chan คุณสามารถเรียกใช้คอนเทนเนอร์ nginx เดียวที่โฮสต์แอปและทำหน้าที่เป็นพร็อกซี CORS ได้ ทำให้มีขนาดกะทัดรัดและปรับใช้ได้ง่าย
แอปมีขนาดประมาณ 38.43 KB
รวมถึงเนื้อหา HTML, JS และ CSS ทั้งหมด ด้วย Gzip มันจะย่อขนาดลงเหลือทั้งหมด 14 KB
สิ่งปลูกสร้างขับเคลื่อนโดยระบบ Vite build และประเภทต่างๆ ถูกบังคับใช้ในโค้ดด้วย TypeScript
รูปภาพของเธรดจะถูกโหลดทุกครั้งที่เลื่อนเข้าไปในมุมมองของเบราว์เซอร์ โดยมีจุดประสงค์เพื่อกำจัดการเรียก API ของสแปมไปยัง API ของ 4chan พร็อกซี 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 นี่เป็นสิ่งสำคัญสำหรับบิลด์สคริปต์ในการทำงาน อย่าดาวน์โหลดไฟล์ zip จาก GitHub!
$ 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
หรือพอร์ตที่คุณเลือก