البرنامج التعليمي السابق: Developing Discourse Plugins - Part 1 - Create a basic plugin
البدء: قوالب Handlebars
تمت كتابة تطبيق العميل الخاص بـ Discourse باستخدام إطار عمل Javascript Ember.js. يستخدم Ember Handlebars لجميع قوالب HTML. يوجد مقدمة ممتازة للغة القوالب في هذا الرابط، لذا تأكد من قراءتها بعناية.
المشكلة: إضافة عناصر إلى واجهة مستخدم Discourse
تحتاج العديد من الإضافات إلى إضافة وتوسيع واجهة الويب الخاصة بـ Discourse. نحن نوفر آلية للقيام بذلك تسمى “منافذ الإضافات” (plugin outlets) في قوالب Handlebars.
إذا تصفحت قوالب Handlebars الخاصة بـ Discourse، فسترى غالبًا ترميز HTML التالي:
<PluginOutlet @name="edit-topic" />
هذا يعلن عن منفذ إضافة يسمى “edit-topic”. إنها نقطة توسيع في القالب يمكن لمؤلفي الإضافات الاستفادة منها لإضافة ترميز Handlebars الخاص بهم.
عند تأليف الإضافة الخاصة بك، ابحث في قوالب Handlebars الخاصة بـ Discourse (في ملفات .hbs) التي تريد تغييرها عن <PluginOutlet />. إذا لم يكن هناك واحد، فقط اطلب منا توسيعه! سنسعد بإضافتها إذا كان لديك حالة استخدام جيدة. إذا كنت تريد أن تجعل الأمر أسهل وأسرع بالنسبة لنا للقيام بذلك، يرجى إرسال طلب سحب (pull request) على github!
إذا كنت ترغب في رؤية بعض الأماكن التي توجد فيها منافذ الإضافات، يمكنك تشغيل الأمر التالي إذا كنت تستخدم OSX أو Linux:
git grep "<PluginOutlet" -- "*.hbs"
يمكنك أيضًا عرض منافذ الإضافات على موقع Discourse عن طريق تشغيل شريط أدوات مطوري Discourse. فقط اكتب enableDevTools() في وحدة تحكم المتصفح على منتدى Discourse وانقر على أيقونة المكون الإضافي التي تظهر على الجانب الأيسر من الصفحة.
الاتصال بمنفذ الإضافة
بمجرد العثور على منفذ الإضافة الذي تريد الإضافة إليه، يجب عليك كتابة “موصل” (connector) له. الموصل هو في الأساس قالب Handlebars يحتوي اسمه على connectors/<اسم المنفذ> فيه.
على سبيل المثال، إذا كان قالب Handlebars الخاص بـ Discourse يحتوي على:
<PluginOutlet @name="evil-trout" />
فإن أي ملفات Handlebars تنشئها في الدليل connectors/evil-trout سيتم إلحاقها تلقائيًا. لذا، إذا أنشأت الملف:
plugins/hello/assets/javascripts/discourse/connectors/evil-trout/hello.hbs
بالمحتويات:
<b>Hello World</b>
سيقوم Discourse بإدراج <b>Hello World</b> في تلك النقطة في القالب.
لاحظ أننا سمينا الملف hello.hbs - الجزء الأخير من اسم الملف لا يهم، ولكنه يجب أن يكون فريدًا عبر كل إضافة. من المفيد تسميته بشيء وصفي لما تقوم بتوسيعه للقيام به. سيجعل هذا تصحيح الأخطاء أسهل في المستقبل.
استكشاف الأخطاء وإصلاحها
- تحقق مرتين من اسم الموصل وتأكد من مطابقته لاسم الإضافة تمامًا.
مزيد من المعلومات
المزيد في السلسلة
الجزء 1: أساسيات الإضافة
الجزء 2: هذا الموضوع
الجزء 3: إعدادات الموقع
الجزء 4: إعداد git
الجزء 5: واجهات المسؤول
الجزء 6: اختبارات القبول
الجزء 7: انشر إضافتك
يتم التحكم في إصدار هذه الوثيقة - اقترح تغييرات على github.



