يدعم Discourse سمات أصلية يمكن جلبها من أرشيف .tar.gz أو من مستودع git عن بُعد، بما في ذلك المستودعات الخاصة.
مثال على سمة متوفر هنا: GitHub - discourse/discourse-simple-theme: Sam's simple discourse theme · GitHub
سيتم فحص مستودع git بحثًا عن تحديثات (مرة واحدة يوميًا)، أو باستخدام زر التحقق من التحديثات. عند اكتشاف تغييرات، سيتغير زر التحقق من التحديثات إلى التحديث إلى الإصدار الأحدث.
![]()
لإنشاء سمة، يجب اتباع هيكل ملفات محدد. هذه هي الملفات التي يمكنك تضمينها:
about.json (مطلوب)
common/common.scss
common/header.html
common/after_header.html
common/footer.html
common/head_tag.html
common/body_tag.html
common/embedded.scss
desktop/desktop.scss
desktop/header.html
desktop/after_header.html
desktop/footer.html
desktop/head_tag.html
desktop/body_tag.html
mobile/mobile.scss
mobile/header.html
mobile/after_header.html
mobile/footer.html
mobile/head_tag.html
mobile/body_tag.html
locales/en.yml
locales/{locale}.yml
stylesheets/{anything}/{anything}/{anything}.scss
javascripts/{anything}.js
javascripts/{anything}.gjs
javascripts/{anything}.hbs
assets/{asset_filename}
settings.yml
جميع هذه الملفات
اختيارية، لذا تحتاج فقط إلى إنشاء الملفات التي تحتاجها.
بالنسبة لأولئك الذين يسعون لتقسيم ملفات SCSS الخاصة بالسمات إلى ملفات متعددة، أصبح ذلك ممكنًا الآن.
أما بالنسبة لمن يريدون تقسيم السمة إلى ملفات JS متعددة، فكل ما عليهم فعله هو إضافة ملفات JS المطلوبة إلى مجلد javascripts.
يظهر هيكل ملف about.json أدناه، ويمكنك الاطلاع على مزيد من المعلومات حوله في https://meta.discourse.org/t/adding-metadata-to-a-theme/119205:
{
"name": "My Theme",
"component": false,
"license_url": null,
"about_url": null,
"authors": null,
"theme_version": null,
"minimum_discourse_version": null,
"maximum_discourse_version": null,
"assets": {
"variable-name": "assets/my-asset.jpg"
},
"color_schemes": {
"My Color Scheme": {
"primary": "222222"
}
},
"screenshots": ["screenshots/light.jpeg", "screenshots/dark.jpeg"]
}
تتوفر تعليمات حول كيفية إضافة إعدادات إلى سمة الخاص بك هنا: Add settings to your Discourse theme.
لإخبار Discourse أنك ستضيف مكون سمة وليس سمة كاملة، أضف السطر "component": true إلى ملف about.json.
يتطابق هيكل الملف مع CSS/HTML المخصص للسمات.
قراءات إضافية
اطّلع على المقالات الأخرى باستخدام وسم #themes::tag.
انظر أيضًا:
- Developing Discourse Themes & Theme Components
- Install the Discourse Theme CLI console app to help you build themes
- Include assets (e.g. images, fonts) in themes and components
تمت المراجعة آخر مرة بواسطة @SaraDev في 2022-08-15T21:00:00Z
يخضع هذا المستند للتحكم في الإصدارات - اقترح تغييرات على GitHub.

