Dumbcourse – واجهة سهلة الاستخدام للمتصفحات القديمة في /dumb (D-pad + شاشات صغيرة)

:information_source: ملخص يضيف Dumbcourse واجهة مستخدم Discourse خفيفة الوزن وصديقة للمتصفحات القديمة تحت /dumb، وهي مصممة لـ التنقل باستخدام لوحة الاتجاهات (D-pad)، والشاشات الصغيرة، وواجهات الويب القديمة في Android حيث يمكن أن تكون واجهة مستخدم Discourse القياسية ثقيلة جدًا.
:hammer_and_wrench: رابط المستودع https://github.com/TripleU613/dumbcourse
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse


تم تحقيق هذا المشروع بفضل عمل @ars18:

يستخدم المشروع الأصلي وكيل Cloudflare worker لخدمة المنتديات، وتدمج إضافة dumbcourse هذا الوكيل بالكامل في مثيل Discourse الخاص بك.


الميزات

  • يخدم تطبيق الصفحة الواحدة (SPA) البسيط على /dumb على نفس نطاق Discourse
  • ES5 / لا حاجة لخطوة بناء؛ الحد الأدنى المتعمد من DOM/JS/CSS للمتصفحات القديمة وواجهات الويب
  • يستخدم نقاط نهاية JSON الخاصة بـ Discourse من نفس الأصل وملفات تعريف الارتباط الخاصة بجلسة Discourse القياسية
  • قوائم المواضيع: latest، new، top، unseen، hot، my، بالإضافة إلى الفئات
  • عرض الفئة: /dumb/c/:slug/:id
  • قراءة المواضيع والنشر (الرد/الاقتباس/التفاعلات)
  • البحث وعرض الملفات الشخصية الأساسية
  • تنقل مناسب للوحة الاتجاهات (D-pad) مع عناصر واجهة مستخدم قابلة للتركيز

الإعداد

  1. تثبيت الإضافة

    • أضف المستودع إلى containers/app.yml تحت hooks -> after_code، ثم أعد بناء الحاوية.
  2. تفعيلها

    • انتقل إلى المسؤول (Admin) ← الإضافات (Plugins) ← Dumbcourse
    • قم بتمكين dumbcourse_enabled
  3. اختيار الإعدادات الافتراضية

    • قم بتعيين السمة الافتراضية وعرض الصفحة المقصودة الافتراضي (انظر الإعدادات أدناه).
  4. التحقق

    • قم بزيارة: https://YOUR_FORUM_DOMAIN/dumb
    • يجب أن يهبط المستخدمون المجهولون على /dumb/login
    • يجب أن يرى المستخدمون الذين قاموا بتسجيل الدخول العرض الافتراضي المحدد

لقطات الشاشة

متصفح قديم / واجهة مستخدم Discourse القياسية

واجهة مستخدم Dumbcourse

في موضوع

إجراءات/تحديد المشاركة

القائمة الأساسية

إعدادات الإضافة


الحالة / القيود المعروفة

هذا المشروع حاليًا في مرحلة تجريبية (بيتا) (تم تنفيذ التنفيذ الأولي بسرعة)، لذا توقع وجود بعض الجوانب غير المصقولة. نرحب بالمساهمات ومراجعات الكود.

الفجوات المعروفة الحالية / الأسئلة المفتوحة:

  • التسجيل + CAPTCHA: يعتمد إنشاء الحساب على تدفق التسجيل القياسي لـ Discourse، ولكن سلوك CAPTCHA قد يختلف حسب إعدادات الموقع.
  • مراجعة الأمان: يجب ألا تتجاوز واجهة المستخدم المبسطة أذونات Discourse، ولكنها لم تخضع بعد لمراجعة أمان شاملة. يرجى الإبلاغ عن أي مخاوف أو سلوك مشبوه.
  • تجربة المستخدم للإشراف/المسؤول: أدوات الإشراف والمسؤول محدودة اليوم؛ توسيع هذا بأمان على خارطة الطريق.
  • تفاعلات اللمس ولوحة الاتجاهات (D-pad): يمكن أن يتعارض إدخال اللمس مع تنقل التركيز على بعض الأجهزة؛ ويجري التخطيط لتحسينات.
  • مشاركة الروابط: يوفر /dumb واجهة مستخدم بديلة، مما يثير تساؤلات حول مشاركة الروابط القانونية بين المستخدمين “الأصمّين” (Dumb) والمستخدمين القياسيين. لا يزال يتم تحسين نهج متسق.

الشكر والتقدير

شكر خاص لـ @ars18 (GitHub: https://github.com/alltechdev) على المساهمات الرئيسية وللمساعدة في إطلاق الفكرة الأصلية.


الإعدادات

الاسم الوصف
dumbcourse_enabled مفتاح التشغيل/الإيقاف الرئيسي لـ Dumbcourse.
dumbcourse_default_theme السمة الافتراضية لـ /dumb (dark / light).
dumbcourse_default_view عرض الصفحة المقصودة الافتراضي (latest / new / top / unseen / hot / my / categories).
dumbcourse_sidebar_link_enabled يضيف رابطًا في الشريط الجانبي إلى /dumb.
13 إعجابًا

تبدو هذه فكرة ممتازة!

لكنني لا أحب ظهور الاسم في عناوين URL - هل يمكن جعله قابلاً للتكوين، بحيث يكون مثلاً /simple/ بدلاً من /dumb/؟

(في الحقيقة، أنا لست سعيدًا جدًا بالاسم، ولكن إذا كان من الممكن تكوينه، فهذا يساعد. إنه مصطلح مهين، وهو تعبير اصطلاحي إلى حد ما.)

3 إعجابات

واو، هذا يبدو جيدًا حقًا! يبدو أن هناك حلاً لإحباطات بعض المستخدمين بسبب عدم دعم المتصفحات القديمة في Dropping iOS 15 & other old browsers in July 2025.

في عالم الهواتف البسيطة، هذا مقبول، ولكن نعم، سأضيف إعدادًا لذلك.

إعجابَين (2)

لقد قمت مؤخرًا بتطبيق إضافة لإعدادات المسؤول/المشرف. لا تزال قائمة مراجعة العمل بحاجة إلى بعض العمل.

لقطات الشاشة

إعجابَين (2)

لم أذكر، إليك ملف APK المصاحب لنظام Android.

يدعم Android 6+ و Chrome WebView 44+.

نموذج (ملف APK الخاص بمنتدياتنا)

إعجاب واحد (1)

تفضل.

3 إعجابات

عمل سريع… شكراً جزيلاً!

@TripleU لقد كان هناك عدد من الطلبات هنا على ميتا تطلب خيارًا لتعطيل التمرير اللانهائي لصالح التصفح (pagination). هل يحقق هذا المكون الإضافي ذلك؟

لا يحتوي Dumbcourse على هذا الخيار (حتى الآن، إذا كان الناس يرغبون فيه حقًا…).

إعجاب واحد (1)

تم الدفع!

هل لي أن أقترح تغيير المسار (وربما اسم المكون الإضافي) إلى شيء أقل إهانة. مثل بسيط، أساسي.

لأن هذه ليست ميزة غبية، بل هي في الواقع ذكية جدًا أن يكون لديك واجهة منخفضة الدقة.

إعجاب واحد (1)

لقد تأخرت قليلاً :grin:

3 إعجابات

هذه متعة رائعة، وأنا أحب الاسم، لأنه يحمل تاريخًا هندسيًا ولا أجده مسيئًا على الإطلاق - ولكن توفير إعداد المسار هو إضافة رائعة.

على أي حال، بالحديث عن الغباء، سأطرح عليك:

إعجابَين (2)

أوه، هذا يثير سؤالاً: ما هو التعامل مع الصور والوسائط المضمنة؟ هل يتم تحويلها إلى روابط، أو قمعها، أو عرضها، …؟

إعجابَين (2)

يتم عرض الصور ومقاطع الفيديو والصوت والإطارات المضمنة جميعها بشكل متتالٍ في نص المنشور مع إعادة كتابة عناوين URL الخاصة بها إلى قاعدة الأصول الصحيحة.

إعجاب واحد (1)

في الاختبار

رائع! لذا يبدو أن هذه طريقة جيدة لجعل منتدياتنا متاحة على المتصفحات القديمة (أجهزة الكمبيوتر القديمة، الهواتف القديمة، الأجهزة اللوحية القديمة) كما هو مذكور في منشور نيت أعلاه.

هل هناك طريقة للمستخدم لتعيين تفضيل بحيث يتم تسجيله تلقائيًا في هذا العرض التقديمي؟ (ويُفضل أن يُطلق عليه الاسم المختار، وليس بالضرورة “الأبله”.)

هذا جيد، ولكن إذا فكرت في الأمر، فهو ليس مهمًا. إذا أراد المرء طرح هذا في دار للمسنين، أو مركز تدريب للبالغين، أو أي عدد من السياقات التي يكون فيها الأشخاص محرومين أو غير ملمين بالجوانب التقنية أو ببساطة ليسوا صغارًا، أو ليسوا متحدثين أصليين للغة الإنجليزية، فإن تسميته “أبله” ستكون له تداعيات سلبية للغاية. الأمر لا يتعلق بكونك مُهانًا أو غير مُهان، ولا هو من شأن مسؤول الموقع، بل يتعلق بالمستخدم النهائي المحتمل.

أنا مرتبك. يمكنهم فقط زيارة عنوان URL للمسار المختار. هل تقصد شيئًا آخر؟

إد، أرجوك لا تظن أنني أحمق، بالطبع أفهم ذلك. سأتوقف الآن لأن هذا يفتح صندوق مشاكل مزعج…

3 إعجابات