توثيق حول توسيع Discourse باستخدام الإضافات، والسمات، ومكونات السمات، والعمل مع الكود الأساسي، واستخدام واجهة برمجة تطبيقات Discourse.
مقدمة
- مقدمة: مقدمة في تطوير Discourse
بيئات التطوير
- حاوية التطوير: تطوير Discourse باستخدام حاوية التطوير
- 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
- تشغيل مجموعات الاختبار: كيفية تشغيل مجموعات اختبارات QUnit الأساسية، والإضافات، والسمات في Discourse
- توافق الإصدارات: تثبيت إصدارات الإضافات والسمات لتثبيتات Discourse الأقدم (فرع d-compat)
- ملكية كائنات Ember: ملكية كائنات Ember (getOwner، حقن الخدمات، إلخ)
- أداء JS: استخدام أداة ‘tachometer’ من Google لقياس تغييرات أداء JS في Discourse
- التكامل المستمر مع GitHub Actions: إعداد التكامل المستمر باستخدام GitHub Actions
- امتدادات Markdown: دليل المطور لامتدادات Markdown
- تحويل النوافذ المنبثقة: تحويل النوافذ المنبثقة من المتحكمات القديمة إلى واجهة برمجة التطبيقات الجديدة DModal
- واجهة برمجة تطبيقات DModal: استخدام واجهة برمجة تطبيقات DModal لعرض النوافذ المنبثقة (أي النوافذ المنبثقة/حوارات) في Discourse
- واجهة برمجة تطبيقات JS: استخدام واجهة برمجة تطبيقات JS
- موصلات منافذ الإضافات: استخدام موصلات منافذ الإضافات من سمة أو إضافة
- modifyClass: استخدام modifyClass لتغيير السلوك الأساسي
- إنشاء المسارات: إنشاء مسارات في Discourse وعرض البيانات
- طريقة المصادقة: إضافة طريقة مصادقة “مُدارة” جديدة إلى Discourse
- التسلسل العرضي لنماذج ActiveRecord: منع التسلسل العرضي لنماذج ActiveRecord
- تجاوز القوالب: (غير موصى به) تجاوز قوالب Discourse من سمة أو إضافة
- كائنات الخدمة: استخدام كائنات الخدمة في Discourse
- مواصفات النظام: كتابة مواصفات نظام من البداية إلى النهاية لواجهة مستخدم Discourse
- FormKit: مجموعة أدوات Discourse لعرض النماذج.
- محفزات AppEvents: مرجع محفزات AppEvents
- المحولات: استخدام المحولات لتخصيص قيم وسلوكيات جانب العميل
- تخصيص قائمة المواضيع: تخصيص قائمة المواضيع
- إرشادات CSS: إرشادات لفئات CSS باستخدام BEM
- تلميحات وأنواع التحقق من JS: تلميحات أنواع JavaScript والتحقق (TypeScript)
- التصميم للأجهزة: التصميم لأجهزة مختلفة (اللمس والتحويم)
- التصميم للعرض المتجاوب: التصميم للعرض المتجاوب (نقاط التوقف، وعرض النافذة، والحاويات)
الإضافات
- إضافة أساسية: تطوير إضافات 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
السمات والمكونات
- تطوير السمات: تطوير سمات Discourse ومكونات السمات
- مرجع سريع: دليل المرجع السريع لمطوري السمات
- دليل المصمم: دليل المصمم للبدء في استخدام السمات في Discourse
- منشئ السمات: البدء باستخدام منشئ السمات وسطر أوامر السمات
- سطر أوامر السمات: تثبيت تطبيق سطر أوامر Discourse Theme CLI لمساعدتك في بناء السمات
- هيكل السمة: هيكل السمات ومكونات السمات
- ملفات JS متعددة: تقسيم JavaScript الخاص بالسمة إلى ملفات متعددة
- ملفات SCSS متعددة: تقسيم SCSS الخاص بالسمة إلى ملفات متعددة
- إعدادات السمة: إضافة إعدادات إلى سمة Discourse الخاصة بك
- كائنات لإعدادات السمة: نوع الكائنات لإعدادات السمة
- هجرة الإعدادات: هجرة إعدادات سمة Discourse
- بيانات السمة الوصفية: إضافة بيانات وصفية ولقطات شاشة إلى سمة
- المتغيرات الأساسية: استخدام المتغيرات الأساسية لـ Discourse في سماتك
- سلاسل قابلة للتوطين: إضافة سلاسل قابلة للتوطين إلى السمات ومكونات السمات
- الاختبار من البداية إلى النهاية: اختبار النظام من البداية إلى النهاية للسمات ومكونات السمات\n- تقليل الصيانة: تقليل الصيانة على تخصيصات السمات
- أحجام الخطوط: تغيير أحجام الخطوط في سماتك
- تضمين الأصول: تضمين الأصول (مثل الصور، والخطوط) في السمات والمكونات
- أيقونات مخصصة: استبدال أيقونات SVG الافتراضية لـ Discourse بأيقونات مخصصة في سمة
- الوضع الداكن: تحديث السمات والإضافات لدعم الوضع الداكن التلقائي
- محولات السمة: محولات السمة: مقدمة موجزة
- العناصر الزائفة: إدراج النص أو الصور في أي مكان على موقعك باستخدام العناصر الزائفة CSS
- مكون الخط: إنشاء ومشاركة مكون سمة الخط
- لغة Highlight.JS: تثبيت لغة جديدة لـ Highlight.JS عبر مكون السمة
- محتوى الصفحة الرئيسية: إضافة محتوى مخصص يظهر فقط على صفحتك الرئيسية
- تنسيق الرسائل: دعم تنسيق الرسائل للتوطين
- تغييرات الأيقونات العالمية: تغيير الأيقونات عالميًا
- أيقونات بديلة: أيقونات بديلة
- نمط منشور الويكي: تغيير نمط منشور الويكي
- مخطط الألوان: إنشاء ومشاركة مخطط ألوان
- قائمة التنقل: استخدام معلم الاستعلام
navigation_menuلمعاينة الشريط الجانبي أو خيارات أخرى - أنماط محتوى المنشورات: تخصيص محتوى المنشورات بأنماطك الخاصة
- لقطات شاشة السمة: إضافة لقطات شاشة معاينة إلى سمات Discourse
- إعدادات الموقع القابلة للتخصيص: التحكم في إعدادات الموقع باستخدام السمات
أدلة عامة
- إعادة تسمية تطبيقات الهاتف المحمول: أشياء يجب مراعاتها قبل اتخاذ قرار بإعادة تسمية تطبيقات Discourse للهاتف المحمول
- الأتمتة المخصصة: إنشاء أتمتة مخصصة
- إغراق البيانات العامة: إغراق البيانات العامة لـ Discourse
- تقييمات الذكاء الاصطناعي: تشغيل تقييمات Discourse AI
دورة تطوير السمة
- 1 - مقدمة: دورة مطور السمة: 1. مقدمة
- 2 - سمة بعيدة: دورة مطور السمة: 2. إنشاء سمة بعيدة
- 3 - CSS: دورة مطور السمة: 3. CSS في السمات
- 4 - المنافذ: دورة مطور السمة: 4. استخدام المنافذ لإدراج واستبدال المحتوى
- 5 - المكونات: دورة مطور السمة: 5. بناء واستخدام المكونات
- 6 - واجهة برمجة تطبيقات JS: دورة مطور السمة: 6. استخدام واجهة برمجة تطبيقات JS
- 7 - الخاتمة: دورة مطور السمة: 7. الخاتمة