تحياتي.
أقوم بنقل منتدى قديم إلى Discourse وكان للموقع الأصلي سمة فريدة (بما في ذلك شعار رأس فريد) لإحدى فئاته.
حلي الحالي هو مكون سمة يبدو كالتالي:
CSS:
body.category-target-category{
/// استبدل #hexcodes بقيم الألوان التي تختارها
--primary: #primaryhexcode;
--secondary: #secondaryhexcode;
--tertiary: #tertiaryhexcode;
/// استمر في أي/جميع قيم الألوان المطلوبة
}
HTML/JS:
<script type="text/discourse-plugin" version="0.2.0">
api.onPageChange(() => {
var logo = document.getElementById("site-logo");
var categories = document.getElementsByClassName("category-target-category");
if(categories.length > 0)
{
logo.src = "category-specific-logo-url";
}
else
{
logo.src = "standard-logo-url";
}
});
</script>
حاليًا، يتعين عليّ المرور عبر كل قيمة لون محتملة مذكورة في color_definitions.scss لتجاوزها. أعتقد أن القيم لهذا الملف يتم إنتاجها من foundation/color_transformations.scss، والذي يقوم بإنشائها من القيم الموجودة في foundation/colors.scss. أعرف أنه يمكنك تجاوز قيم سمة الألوان الجذرية إما عبر قائمة المسؤول أو في ملف about.json لمكون السمة، ولكن أعتقد أن هذه التغييرات تحدث على مستوى الموقع بالكامل.
هل هناك طريقة أكثر كفاءة لتخصيص فئة معينة بخلاف سرد جميع المتغيرات التي يزيد عددها عن 100 في color_definitions.scss؟ على سبيل المثال، هل يمكن تعديل ملف foundation/colors.scss عبر مكون سمة؟
شكراً لمساعدتك!