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

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

الميزات

  • يقدم تطبيق صفحة واحدة (SPA) بسيطًا على /dumb على نفس نطاق Discourse
  • ES5 / لا حاجة لخطوة بناء (build step)؛ الحد الأدنى المتعمد من DOM/JS/CSS للمتصفحات وWebViews القديمة
  • يستخدم نقاط نهاية 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، ولكن قد يختلف سلوك اختبار التحقق حسب إعدادات الموقع.
  • مراجعة الأمان: يجب ألا تتجاوز الواجهة المبسطة أذونات 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.