تطوير الإضافات بدون مرجع

منذ أسبوع أحاول إعداد مسار مخصص في منتداي باستخدام إضافة. يجب أن يكون المسار متاحًا للجميع. أريد أن تعرض الإضافة ببساطة HTML من قالب مقبض في المسار المحدد. لا يمكنني جعل القالب يُعرض.

لقد بحثت في كيفية تطوير إضافات لـ Discourse ولا أجد أي وثائق جوهرية. في كل مرة يسأل فيها شخص ما سؤالاً حول تطوير الإضافات، يكون الرد هو رابط إلى “دليل” لتطوير إضافة إدارية يعرض مجردة أرجوانية. في كل مرة يكون هناك سؤال حول عدم عرض قالب، تتم الإشارة ببساطة إلى وثائق Ember حول الموجهات.

هذا الدليل جيد ولكنه يحدث سحر في الخلفية غير مشروح حتى نتمكن من أخذ المعلومات والمضي قدمًا بها. ماذا لو أردنا عرض مسار عام؟ كيف يتم استهلاك ملف plugin.rb بواسطة discourse؟ ما هي رموز/عبارات discourse الأخرى التي يمكنني استخدامها في ملف plugin.rb مثل “add_admin_route” لإضافة مسارات إلى تطبيقي؟ هل هناك هيكل ملف معين يجب أن نستخدمه حتى يتم حل المسارات؟

بشكل أساسي، جميع المطورين الذين يبنون إضافات معقدة، أين ينظرون إلى الوثائق للقيام بذلك؟ أنا مطور ذو خبرة وببساطة إضافة مسار عام إلى منتدى الخاص بي وعرض قالب في هذا المسار أمر معقد نظرًا للأدلة/المعلومات المتاحة حاليًا حول بناء الإضافات.

أي مساعدة ستكون موضع تقدير. شكرًا! :heart:

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

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

يعد استخدام المستودعات الحالية لفهم الأساليب هو بالضبط ما تعلمته أنا وزملائي القيام به على مدار السنوات القليلة الماضية.

يمكنني أن أوصي بالنظر إلى مستودعات فريق Discourse الأساسي (official) وتلك الخاصة بـ Pavilion (pavilion) ومستودعاتي كأمثلة لكيفية القيام بالأشياء (بهذا الترتيب! :sweat_smile:).

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

ابحث عن مكون إضافي يقوم وظيفيًا بشيء مشابه لما تحققه وانسخ النهج.

إليك مثال لمكون إضافي يضيف مسارًا واحدًا:

إعجابَين (2)