omppatil
(Om Patil)
28 نوفمبر 2023، 12:34م
1
أهلاً!\nأنا جديد في مجال تطوير إضافات Discourse وأقدر أي مساعدة في إضافة زر تبديل إلى قائمة المشاركات وتنفيذ إجراءاته في الإضافة.
Lilly
(Lillian )
28 نوفمبر 2023، 12:41م
2
مرحباً @omppatil ربما يساعدك هذا المنشور في التوجه الصحيح:
إذا كنت ترغب في إضافة زر إلى قائمة المنشور، فستحتاج إلى شيء مختلف قليلاً، حيث أن المنشورات هي ودجات .
ستحتاج إلى إضافة شيء مشابه لهذا إلى سمة / إضافة المظهر الخاصة بك.
api.addPostMenuButton("my-button", () => {
return {
action: "someAction",
icon: "someIcon",
className: "someClass",
title: "some title",
};
});
توفر واجهة برمجة التطبيقات للإضافات طريقة لإضافة أزرار جديدة تجعل هذه العملية سهلة نسبيًا.
discourse/app/assets/javascripts/discourse/app/lib/plugin-api.js at 7a2e8d…
أيضًا إذا كنت جديدًا في برمجة إضافات Discourse:
لقد بدأت للتو، ولكن إليك ‘بدايتي’ لمساعدتك على الانطلاق:
اقرأ:
هذه
هذه
حاول قراءة الكود في أبسط والمقالات الشائعة وراجع ما إذا كان بإمكانك فهم وظيفتها (ليس هذا أمرًا سهلاً دائمًا، خاصة مع تعقيد التعامل مع ملفات متعددة والبساطة الوظيفية القاسية أحيانًا في جافا سكريبت، لكن استمر في المحاولة)
تحتاج إلى تعلم:
الكثير من جافا سكريبت (لا تبحث أبعد من مقاطع الفيديو الممتازة والممتعة (!) لـ @mpj في Fun Fun Function (شكرًا لك يا صديقي!))
الكثير من Ember وقليل من Ruby (ابدأ من هنا )
Github و Git
(و HT…
There are a few ‘how to start’ guides for working with Discourse already and a wealth of useful info on meta, but I thought it might help to give an insight to the mental processes of starting from little, if any, prior coding experience to building substantial Discourse plugins.
Discourse is written by experienced developers and has a large codebase. This can feel intimidating. This intimidation factor can be a significant barrier for novice developers. This is a kind of ‘psychological primer’…
مرحباً!
يمكنك استخدام addPostMenuButton
api.addPostMenuButton('coffee', () => {
return {
action: 'drinkCoffee',
icon: 'coffee',
className: 'hot-coffee',
title: 'coffee.title',
position: 'first' // يمكن أن تكون `first` أو `last` أو `second-last-hidden`
};
});
بعد ذلك، يمكنك إضافة الإجراء الخاص بك بهذه الطريقة:
api.attachWidgetAction("post", "drinkCoffee", function () {
//
}
تعديل: تم الحصول على ليليان :ابتسامة:. ستكون فكرة جيدة أيضًا اتباع الأدلة التي نشرتها ليلي!
omppatil
(Om Patil)
28 نوفمبر 2023، 12:53م
4
إذن، ما هو هيكل الملفات الذي يجب تنفيذه، وأين يجب وضع الكود أعلاه؟
Lilly
(Lillian )
28 نوفمبر 2023، 1:26م
5
قراءة المواضيع المرتبطة أعلاه يجب أن تجيب على أسئلتك المتعلقة بالتطوير. من الممكن أن تحقق ما تريده باستخدام مكون سمة بدلاً من إضافة. لذلك، سأضيف هذه أيضًا إلى قائمة القراءة الخاصة بك:
هذه دورة مكثفة في أساسيات سمات Discourse. الجمهور المستهدف هو كل من ليس على دراية بسمات Discourse. إذا كنت قد استخدمت بالفعل سمة Discourse / مكونات السمة، فمن المرجح أن هذا الدليل ليس شيئًا تحتاج إلى قراءته.
ما هي السمات ومكونات السمة؟
السمة أو مكون السمة هو مجموعة من الملفات المعبأة معًا مصممة إما لتعديل Discourse بصريًا أو لإضافة ميزات جديدة.
لنبدأ بالسمات.
السمات
بشكل عام، لا ينبغي أن تكون السمات متوافقة مع بعضها البعض لأنها في جوهرها تصاميم مستقلة مختلفة. فكر في السمات مثل الجلود، أو مثل…
يمكن استخدام سمات Discourse (Discourse Themes) ومكونات السمات (Theme Components) لتخصيص مظهر وشعور ووظائف الواجهة الأمامية لـ Discourse. يهدف هذا القسم من أدلة المطورين إلى توفير جميع المواد المرجعية التي تحتاجها لتطوير سمات بسيطة لموقع واحد، وصولاً إلى مكونات السمات المعقدة مفتوحة المصدر.
يهدف هذا التمهيد إلى توفير خريطة لجميع الأدوات وواجهات برمجة التطبيقات (APIs) لتطوير السمات. إذا كنت تفضل برنامجًا تعليميًا خطوة بخطوة لتطوير السمات، انتقل مباشرة إلى:
السمات مقابل مكونات السمات
يمكن استخد…
أيضًا، من الرابط الأول الذي نشرته: