إنه عميل للقراءة فقط لـ 4chan (https://4chan.org) مصمم لعرض المواضيع والردود بتنسيق قائم على الشجرة.
أجد الطريقة التي ينظم بها 4chan الردود على المواضيع مربكة للغاية وغير مفيدة في تحديد تدفق المحادثات. في عميل الويب 4chan، تظهر الردود في قائمة مسطحة، بالترتيب الذي تم نشرها به في الأصل.
عندما يحصل الموضوع على المزيد من الردود، فمن الطبيعي أن تبدأ محادثات متعددة في شكل سلاسل ردود في التشكل. ومن هنا، فإن كل إضافة لاحقة إلى السلسلة تضاف فقط إلى القائمة التاريخية الكبيرة.
هذا يعني أنك إذا كنت تقوم بالتمرير عبر القائمة المذكورة، فسوف تواجه منشورات من سلاسل ردود متعددة لا علاقة لها ببعضها البعض بشكل متشابك باستمرار، مما يجبرك على تبديل السياق باستمرار، ويتطلب منك التحقق بدقة من سلسلة الرد في الواقع يرد عليه من أجل متابعة المحادثة.
على العموم، إنه أمر مزعج.
وهذا هو سبب وجود هذا المشروع - أصبح الآن من السهل جدًا متابعة سلسلة الردود لأنه تم عرضه بشكل صحيح بالفعل! تصبح الردود على المشاركة فرعية، ويتم عرضها بمستوى أعمق. هذه هي الطريقة التي يبني بها Reddit تعليقاته أيضًا، وأعتقد أنه نظام بديهي تمامًا يعزز تجربة المستخدم عشرة أضعاف.
التطبيق مكتوب بلغة Svelte ويتم تشغيله بالكامل تقريبًا من جانب العميل، باستخدام nginx كوكيل CORS لخوادم API الخاصة بـ 4chan. يمكنك تشغيل حاوية nginx واحدة تستضيف التطبيق وتعمل بمثابة وكيل CORS، مما يجعلها مضغوطة للغاية وسهلة النشر.
يبلغ حجم التطبيق حوالي 38.43 KB
، بما في ذلك جميع أصول HTML وJS وCSS. باستخدام Gzip، يتم تقليص حجمه إلى 14 KB
. يتم تشغيل البناء بواسطة نظام البناء Vite ويتم فرض الأنواع في التعليمات البرمجية باستخدام TypeScript.
يتم تحميل صور المواضيع عندما يتم تمريرها إلى عرض المتصفح، بهدف القضاء على مكالمات 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. يعد هذا أمرًا مهمًا لتشغيل البرنامج النصي للإنشاء، ولا تقم بتنزيل ملف مضغوط من GitHub!
$ git clone --depth=1 https://github.com/xxcodianxx/treechan.git
الآن، يمكنك ببساطة استخدام البرنامج النصي run.sh
المضمن وسيقوم بتثبيت Treechan وتشغيله نيابةً عنك.
$ ./run.sh
باستثناء أوقات التنزيل عبر الشبكة، يكون التثبيت سريعًا للغاية (حوالي ثانيتين).
افتراضيًا، يعمل الخادم على المنفذ 8080
، ولكن يمكن تغيير ذلك في الجزء العلوي من الملف ./run.sh
.
تهانينا، لقد أصبح لديك الآن Treechan قيد التشغيل. إذا قمت بذلك على جهازك المحلي، فيمكنك الآن زيارة http://localhost:8080 والاستمتاع.
إذا قمت بذلك على خادم، فما عليك سوى استبدال localhost
بعنوان IP الخاص بخادمك. تذكر إعادة توجيه المنفذ 8080
أو المنفذ الذي اخترته.