وثائق حول توسيع Discourse بالمكوّنات الإضافية والسمات ومكونات السمة، والعمل مع الكود الأساسي، واستخدام واجهة برمجة تطبيقات Discourse (Discourse API).
مقدمة
- مقدمة: مقدمة لتطوير Discourse
بيئات التطوير
- حاوية Dev: تطوير Discourse باستخدام حاوية Dev
- GitHub Codespaces: تطوير Discourse على GitHub Codespaces
- إعداد Docker: تثبيت Discourse للتطوير باستخدام Docker
- إعداد macOS: تثبيت Discourse على macOS للتطوير
- إعداد Ubuntu/Debian: تثبيت Discourse على Ubuntu أو Debian للتطوير
- إعداد Windows: تثبيت Discourse على Windows للتطوير
- مكوّنات إضافية غير Docker: تثبيت مكوّنات إضافية في بيئة التطوير غير Docker
- إعداد محلي: إعداد بيئة تطوير Discourse محلية؟
- إعداد متعدد المواقع: إعداد بيئة تطوير متعددة المواقع
- إعداد Fedora: إعداد Discourse للتطوير على Fedora Linux
الكود والأجزاء الداخلية
- مكونات Ember: إضافة مكونات Ember إلى Discourse
- التدقيق والتنسيق: التدقيق التلقائي وتنسيق التعليمات البرمجية قبل عمليات الإرسال
- اختبارات القبول: كتابة اختبارات القبول واختبارات المكونات لتعليمات Ember البرمجية في Discourse
- تشغيل مجموعات الاختبار: كيفية تشغيل مجموعات اختبار Discourse الأساسية والإضافات والسمات QUnit
- توافق الإصدار: تثبيت إصدارات الإضافات والسمات لإصدارات Discourse الأقدم (.discourse-compatibility)
- ملكية كائن Ember: ملكية كائن Ember (getOwner، حقن الخدمة، إلخ)
- أداء JS: استخدام ‘tachometer’ من Google لقياس تغييرات أداء JS في Discourse
- التكامل المستمر مع GitHub Actions: إعداد التكامل المستمر باستخدام GitHub Actions
- ملحقات Markdown: دليل المطور لملحقات Markdown
- تحويل النماذج: تحويل النماذج من وحدات التحكم القديمة إلى واجهة برمجة تطبيقات مكون DModal جديدة
- واجهة برمجة تطبيقات DModal: استخدام واجهة برمجة تطبيقات DModal لتقديم نوافذ Modal (المعروفة أيضًا بالنوافذ المنبثقة/مربعات الحوار) في Discourse
- واجهة برمجة تطبيقات JS: استخدام واجهة برمجة تطبيقات JS
- موصلات منفذ البرنامج المساعد: استخدام موصلات منفذ البرنامج المساعد من سمة أو برنامج مساعد
- modifyClass: استخدام modifyClass لتغيير السلوك الأساسي
- إنشاء المسارات: إنشاء المسارات في Discourse وعرض البيانات
- طريقة المصادقة: إضافة طريقة مصادقة ‘مدارة’ جديدة إلى Discourse
- التسلسل العرضي لنماذج ActiveRecord: منع التسلسل العرضي لنماذج ActiveRecord
- تجاوز القوالب: (غير مستحسن) تجاوز قوالب Discourse من سمة أو برنامج مساعد
- كائنات الخدمة: استخدام كائنات الخدمة في Discourse
- مواصفات النظام: كتابة مواصفات نظام شاملة لواجهة مستخدم Discourse
- FormKit: مجموعة أدوات Discourse لتقديم النماذج.
- مشغلات AppEvents: مرجع مشغلات AppEvents
- المحولات: استخدام المحولات لتخصيص قيم وسلوك جانب العميل
- تخصيص قائمة المواضيع: تخصيص قائمة المواضيع
- إرشادات CSS: إرشادات لفئات CSS باستخدام BEM
- التصميم للأجهزة: التصميم للأجهزة المختلفة (حجم منفذ العرض، اللمس/التحويم، إلخ)
الإضافات
- البرنامج المساعد الأساسي: تطوير ملحقات Discourse - الجزء 1 - إنشاء برنامج مساعد أساسي
- منفذ البرنامج المساعد: تطوير ملحقات Discourse - الجزء 2 - الاتصال بمنفذ البرنامج المساعد
- إعدادات الموقع: تطوير ملحقات Discourse - الجزء 3 - إضافة إعدادات مخصصة للموقع
- إعداد Git: تطوير ملحقات Discourse - الجزء 4 - إعداد git
- واجهة المسؤول: تطوير ملحقات Discourse - الجزء 5 - إضافة واجهة مسؤول
- اختبارات القبول: تطوير ملحقات Discourse - الجزء 6 - إضافة اختبارات القبول
- نشر البرنامج المساعد الخاص بك: تطوير ملحقات Discourse - الجزء 7 - نشر البرنامج المساعد الخاص بك
- لغات جديدة: إضافة لغة جديدة من البرنامج المساعد
- تكامل الدردشة: إضافة موفر جديد إلى discourse-chat-integration
- امتداد markdown-it: إعادة تجميع امتداد markdown-it كبرنامج مساعد لـ Discourse
- التحميل التلقائي لـ Rails: هيكلة برنامج مساعد للتحميل التلقائي لـ Rails
القوالب والمكونات
- …