كيفية إنشاء مكون إضافي باستخدام استدعاءات واجهة برمجة التطبيقات الخلفية لملء Composer أثناء المسودة

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

  1. واجهة برمجة تطبيقات Discourse الخاصة (ليست مفيدة لكتابة الإضافات، ولكنها لا تزال ذات صلة للمبتدئين): https://docs.discourse.org/
  2. واجهة برمجة تطبيقات الإضافات العميل (ليست مفيدة لكتابة الواجهة الخلفية للإضافة، ولكنها تجعل الأمور أسهل بالتأكيد للواجهة الأمامية):
    A versioned API for client side plugins
    discourse/app/assets/javascripts/discourse/app/lib/plugin-api.gjs at main · discourse/discourse · GitHub

فهمت أيضًا أن واجهة برمجة تطبيقات الإضافات الخلفية هي في الأساس Rails أو Ruby - ولكن ليس من الواضح كيف تتفاعل الواجهة الأمامية والخلفية بالضبط مع بعضها البعض، أو أين “الخطاف” الأولي للواجهة الخلفية. بالتأكيد، هناك ملف plugin.rb يجب وضعه، لكنني أتساءل عما إذا كانت هناك أي وثائق حول نقطة الدخول إلى هذا الملف. ربما يكون هذا واضحًا تمامًا لمبرمجي Ruby on Rails، لكنني لست واحدًا منهم، لذا فإن الدخول هنا صعب.