هل توجد "خريطة" للتصميم؟ (طريقة سهلة للعثور على منافذ الإضافات وما إلى ذلك)

نعم، بالتأكيد. لقد كنت أقوم ببناء القوالب تقريبًا منذ وجود Discourse، وأنا أراجع كود المصدر باستمرار في نافذة منفصلة.

بشكل عام، بالنسبة للقوالب، تريد البحث هنا: https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/templates

وبالنسبة للودجات (widgets) هنا: https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/widgets.

أحيانًا لا يكون من الواضح على الفور مكان القالب، لأنه ربما يكون مكونًا مُضمّنًا داخل قالب آخر… إذا لم أستطع التذكّر، فإن ما سأنتهي بفعله هو البحث في الكود المصدر عن جزء محدد من الترميز…

على سبيل المثال، إذا كنت أبحث عن إضافة شيء ما إلى صفحة «عن الموقع»… يمكنني أن أرى أن جسم صفحة «عن الموقع» يحتوي على فئة فريدة هي about-page، لذا سأبدأ بالبحث عن about و body-page (وهي فئة أخرى في الصفحة).

للإجابة على بعض أسئلتك:

أعتقد أن هذا يتطلب إضافة (plugin)، وهو ما يقع خارج نطاق خبرتي… ربما يتمكن شخص آخر من المساعدة أكثر.

هناك قوالب مختلفة لترتيبات الصفحات المختلفة، ولكن بافتراض أنك تتحدث عن أحد تخطيطات “الصناديق مع…”

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/categories-boxes.hbs

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/about.hbs