لافتة ثابتة في Discourse

:information_source: ملخص يتم عرض لافتة ثابتة في أعلى كل صفحة لا يمكن إخفاؤها إلا بواسطة المسؤولين.
:eyeglasses: معاينة Theme Creator
:hammer_and_wrench: مستودع GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

يعرض هذا المكون لافتة في أعلى كل صفحة. يمكن استخدام أي ألوان CSS صالحة. إذا كنت تخطط لاستخدام متغيرات سمات Discourse، فقم بتغليفها في var()، حتى تحصل على شيء مثل var(--tertiary-very-low).


هناك 7 إعدادات للتحكم في اللافتة.

  1. banner_background_color يغير لون خلفية اللافتة.
  2. banner_text_color يغير لون نص اللافتة.
  3. banner_border_color يغير لون حدود اللافتة.
  4. banner_border_thickness يغير سمك حدود اللافتة.
  5. banner_text_content يغير نص اللافتة. سيلتف النص في اللافتة إذا كان أطول من سطر واحد.
  6. banner_visible يغير رؤية اللافتة. show لعرض اللافتة، hide لإخفاء اللافتة.
  7. banner_location يضع اللافتة في 1 من 4 منافذ معطاة: above-site-header، below-site-header، above-main-container و before-topic-list.

شكر خاص لـ @Lilly للمساعدة في فرز الملفات!

4 إعجابات

أجدها مشابهة جدًا لمكونات السمة " Notification banners" ولديها المزيد من التخصيص.

إعجابَين (2)

نعم، ولكن بهذه الطريقة، يبقى الشعار هناك (سأل الناس عن كيفية إعادة ظهور الشعار بعد إغلاقه).

إعجابَين (2)

عمل رائع يا نيت. :clap: :slight_smile:
أحب البساطة.

لا أعتقد أن معاينة منشئ السمة تعمل. :thinking:

بعض الاقتراحات لتفكر فيها:

  • هناك مشكلة بسيطة في التموضع في وضع سطح المكتب، خاصة إذا كان المرء يستخدم شاشة عريضة / كاملة.

  • سيكون من الجيد التحكم في حجم هذا الإطار ولونه.

  • ربما خيارات للتموضع مع منافذ إضافات مختلفة، مثل below-site-header و above-main-containter؟

  • بينما استخدام قائمة التعداد مقابل إدخال النص لاختيارات الألوان مناسب، فإنه يحد أيضًا من قدرة المسؤولين على استخدام متغيرات لوحة الألوان التي تعمل مع الأوضاع الداكنة / الفاتحة، أو ليكونوا أكثر دقة مع قيم ألوان الـ hex.

  • أقترح جعل إعداد نص لافتة السلسلة مع خاصية textarea: true، ثم ستحصل على مربع نص متعدد الأسطر يمكن للمستخدم توسيعه. عندها يكون من الأسهل القيام بذلك:

إعجابَين (2)

سألعب بإعدادات اللافتة، وسأحاول جعل هذا يعمل.

لا ينبغي أن تكون مشكلة كبيرة، سأضيف هذا.

فهمت. لدي فكرة عن كيفية تنفيذ هذا.

أعتقد أنه يمكنني تنفيذ هذا.

فهمت، سأضيف هذا.

إعجاب واحد (1)

@Lilly للتحقق فقط، هل أضيف هذا في settings.yml؟

إعجاب واحد (1)

نعم، يمكنك رؤيتها هنا في مكون اللافتة متعدد الاستخدامات:

النتيجة في إعدادات المكون:

إعجابَين (2)

[اقتباس=“Lilly, post:4, topic:330575”]
ربما خيارات للموضع مع منافذ إضافات مختلفة، مثل below-site-header و above-main-containter؟
[/اقتباس]

تم التنفيذ.

[اقتباس=“Lilly, post:4, topic:330575”]
سيكون من الجيد التحكم في حجم هذا الحدود ولونه.
[/اقتباس]
تم الأمر.

[اقتباس=“Lilly, post:4, topic:330575”]
كما أنه يحد من قدرة المسؤولين على استخدام متغيرات لوحة الألوان التي تعمل مع الأوضاع الداكنة/الفاتحة، أو أن يكونوا أكثر دقة في قيم ألوان hex.
[/اقتباس]
يمكنك الآن استخدام قيم hex (قم بتضمين #)، أو ألوان CSS صالحة، أو متغيرات السمات (var(–var-name)).

[اقتباس=“Lilly, post:4, topic:330575”]
أقترح جعل إعداد إدخال نص سلسلة البانر باستخدام textarea: true
[/اقتباس]
تم الأمر أيضًا.

[اقتباس=“Lilly, post:4, topic:330575”]
هناك مشكلة بسيطة في الموضع في وضع سطح المكتب، خاصة إذا كان الشخص يستخدم شاشة عريضة/كاملة.
[/اقتباس]
أعتقد أنه تم إصلاحه. هل يمكنك تجربته من جانبك؟

إعجابَين (2)

هذا تم إصلاحه بالتأكيد. عمل رائع. :smiley: :discourse:

لقطة شاشة من عرض سطح المكتب بشاشة عريضة

3 إعجابات

تحديث:
لقد قمت بتبسيط ملف .gjs عن طريق نقل عبارات if الخاصة بالتحقق مما إذا كان نص اللافتة فارغًا ورؤية اللافتة إلى ملف .scss.

إعجابَين (2)