يتميز Discourse بقابلية عالية للتخصيص، مما يتيح لك تعديل几乎所有 جانب من جوانب مظهره من خلال السمات (Themes).
للحفاظ على التوافق مع تحديثات Discourse المستمرة والميزات الجديدة، تتطلب جميع السمات صيانة دورية. يعتمد تواتر الصيانة على تعقيد ونوع التخصيص. يمكنك تقليل جهود الصيانة لسماتك باتباع هذه الإرشادات:
- تحقق من وجود سمات أو مكونات سمات رسمية تتطابق مع الوظائف المطلوبة. يتم تحديث هذه العناصر جنبًا إلى جنب مع Discourse. يمكن أن تعمل أيضًا كمثال لكيفية التعامل مع تخصيصاتك الخاصة.
- استبدل نص الواجهة باستخدام ميزة “الإدارة → التخصيص → النص” عن طريق البحث عن النص المحدد وتحديثه هناك.
- يكون CSS الخاص بالسمات تراكميًا، مما يتيح لك تجاوز الأنماط الافتراضية دون تعديلها مباشرة. يحسن هذا النهج قابلية صيانة CSS ويقلل من التعارضات مع التحديثات.
- استخدم نظام تحكم في الإصدارات مثل Git مع GitHub أو GitLab أو Bitbucket لتتبع التغييرات. بينما يكون محرر HTML و CSS الموجود في “الإدارة → التخصيص → السمات” مريحًا للتعديلات البسيطة، يمكن لأنظمة التحكم في الإصدارات تسهيل تتبع واستكشاف الأخطاء للتغييرات الأكثر تعقيدًا.
- للتخصيصات المتقدمة، أنشئ وحدات مستقلة للوظائف الجديدة ودمجها من خلال مخارج الإضافات. يستخدم Discourse Ember.js، لذا فإن بناء مكونات Ember مثالي. يعزل هذا الأسلوب الوظائف المخصصة، ويقلل من الصيانة، ويساعد في تجنب التعارضات مع تحديثات Discourse.
يجب أن يكون تجاوز قوالب JavaScript و HTML الافتراضية في Discourse ضمن السمة حلاً أخيرًا، لأن هذه التغييرات أكثر عرضة لعدم التوافق مع تحديثات Discourse، وقد تكون صعبة الاستكشاف، وأكثر عرضة للأخطاء التي تؤدي إلى توقف الخدمة.
لمزيد من المعلومات حول استخدام وبناء سمات Discourse، لا تتردد في طرح الأسئلة على مجتمعنا Meta، واستعرض أدلة التخصيص الخاصة بنا:
- دليل المبتدئين لاستخدام سمات Discourse
- دليل المصممين لسمات Discourse
- دليل المطورين لسمات Discourse
- كيفية تمكين الوضع الآمن لاستكشاف مشاكل السمات والإضافات
- هيكلية السمات ومكونات السمات
- إنشاء ومشاركة مكون سمة الخط
- كيفية إنشاء ومشاركة مخطط ألوان
- كيفية استخدام متغيرات Discourse الأساسية في سماتك
- كيفية إضافة إعدادات إلى سمة Discourse
- منشئ السمات، أنشئ وأظهر السمات دون تثبيت Discourse!
هذا المستند يخضع للتحكم في الإصدارات - اقترح التغييرات على github.