دعم المجتمع - تبرع قابل للتخصيص

:information_source: الملخص دعم المجتمع - تبرعات قابلة للتخصيص
:eyeglasses: معاينة Theme Creator
:hammer_and_wrench: المستودع GitHub - VaperinaDEV/community-support: Community Support - configurable donation · GitHub
:heart: هل وجدته مفيدًا؟ ./support --coffee
:question: دليل التثبيت كيفية تثبيت سمة أو مكوّن سمة
:open_book: جديد على سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

مرحبًا :waving_hand:

كان الهدف هو جعل المكوّن مرنًا بما يكفي ليناسب تصاميم المجتمع واستخدامات مختلفة جدًا، مع الحفاظ على الإعدادات بالكامل داخل إعدادات السمة.

:sparkles: الميزات

:heart: نافذة منبثقة للتبرع / الدعم

يمكن للمكوّن اختيارًا عرض نافذة منبثقة للدعم تلقائيًا.

تدعم النافذة المنبثقة التلقائية:

  • تأخير فتح قابل للتخصيص
  • الرؤية بناءً على الرابط/المسار
  • الرؤية للأعضاء/المستخدمين المجهولين
  • مستوى الثقة الأدنى
  • المجموعات المستبعدة
  • مدة صلاحية كوكي الإغلاق قابلة للتخصيص
  • ثلاثة أحجام للنافذة: normal، large، maximized

يمكن أيضًا فتح النافذة يدويًا من أي مكان باستخدام:

#donate

هذا مستقل عمدًا عن قواعد الرؤية التلقائية، مما يسمح للمجتمع بمشاركة رابط #donate أو إضافته إلى الشريط الجانبي مع التحكم في أماكن ظهور نوافذ الدعم التلقائية.


:credit_card: طرق التبرع / الدعم

يمكن تكوين عدة طرق للدعم باستخدام محرر الإعدادات الكائنية في Discourse.

يمكن أن تحتوي كل طريقة على:

  • اسم
  • وصف
  • المزود
  • المالك
  • أيقونة
  • رابط
  • نص الزر
  • قيمة قابلة للنسخ
  • حالة مميزة
  • ترجمات

هذا مستقل عن المزود، لذا لا يتطلب المكوّن مزود مدفوعات محددًا.

على سبيل المثال، يمكن لطريقة ما أن تشير ببساطة إلى صفحة PayPal أو Revolut أو Wise أو صفحة دفع/دعم أخرى موجودة مسبقًا.


:globe_showing_americas: تهيئة لكل طريقة على حدة

تدعم طرق التبرع ترجمات خاصة بها.

يتضمن المحدد اللغوي لغات Discourse المتاحة، ويمكن لكل طريقة أن تحتوي على ترجمات لـ:

  • الاسم
  • الوصف
  • نص الزر
  • تسمية النسخ
  • المالك
  • المزود

إذا لم تتوفر اللغة المحلية المطلوبة، يعود المكوّن إلى اللغة الأساسية ثم إلى الإنجليزية/ترجمة أخرى متاحة.


:bar_chart: هدف الدعم وشريط التقدم

يحتوي المكوّن على هدف دعم وشريط تقدم اختياريين.

يمكنك تكوين:

  • المبلغ الحالي
  • المبلغ المستهدف
  • العملة
  • تسمية الدعم
  • فترة الدعم
  • عرض التقدم
  • مكان ظهور شريط الدعم

الفترات المدعومة:

  • لمرة واحدة
  • شهريًا
  • سنويًا

يتعامل شريط التقدم أيضًا مع الدعم الذي يتجاوز الهدف.

بدلاً من التوقف عند 100% ببساطة، يستمر في عرض النسبة الفعلية:

75%   → تقدم طبيعي
100%  → تم تحقيق الهدف
125%  → 25% من دورة الهدف التالية
220%  → 20% من دورة الهدف الثالثة

يبقى شريط التقدم المرئي شريطًا واحدًا مدمجًا.

قبل الهدف الأول:

background: tertiary-low
fill:       tertiary

عند 100% و 200% و 300% بالضبط، وما إلى ذلك:

background: success
fill:       success

Screenshot 2026-09-14 at 7.39.26

بين المعالم:

background: success-low
fill:       success

Screenshot 2026-09-14 at 7.39.52

هذا يعني أن المجتمع يمكنه الاستمرار في إظهار تقدم ذي معنى حتى عندما يتجاوز هدفه الأصلي بشكل كبير.


:bust_in_silhouette: صور رمزية للداعمين

يمكن لشريط الدعم اختيارًا عرض صور رمزية للداعمين.

يتم حاليًا تكوين الداعمين يدويًا من خلال إعداد الكائن supporters.

يمكن أن يحتوي كل داعم على:

  • اسم المستخدم
  • مبلغ المساهمة
  • العملة

يتم حل اسم المستخدم مقابل ملف المستخدم الشخصي، لذا يمكن عرض معلومات الملف الشخصي/الصورة الرمزية للمستخدم تلقائيًا.

يمكن تكوين عدد الصور الرمزية المعروضة مباشرة في شريط الدعم.

على سبيل المثال:

◉ ◉ ◉ ◉ ◉ +8

إذا كان هناك عدد أكبر من الداعمين من عدد الصور الرمزية المرئية المقننة، يمكن الوصول إلى الداعمين المتبقين من خلال قائمة DMenu.

يمكن لقائمة الداعمين عرض:

  • الصورة الرمزية
  • اسم المستخدم
  • رابط الملف الشخصي
  • مبلغ المساهمة
  • العملة

يمكن تمكين أو تعطيل مبالغ المساهمة بشكل مستقل.

يمكن أيضًا تعبئة الداعمين من مجموعة أو أكثر باستخدام إعداد supporter_groups. يكمل هذا قائمة الداعمين المكونة يدويًا بدلاً من استبدالها.


:artist_palette: تصاميم متعددة

يحتوي المكوّن على ثلاثة تصاميم بصرية مستقلة:

  • كلاسيكي: عرض متوازن بأسلوب المجتمع
  • بسيط: واجهة بصرية مخفضة وعرض مدمج
  • عصري: تسلسل هرمي أقوى وبطاقات أكثر بروزًا

التصميم مستقل عن العرض المحدد، لذا يمكن دمج الاثنين بحرية.


:puzzle_piece: عروض متعددة

يدعم المكوّن عدة أوضاع عرض:

  • كامل: محتوى دعم كامل مع قسم رئيسي وطريقة مميزة وطرق التبرع
  • مدمج: عرض مخفض للتخطيطات الأصغر
  • بسيط: عرض يركز على الطريقة
  • تقدم: هدف الدعم والتقدم فقط

يسمح هذا باستخدام المكوّن نفسه في مواقع مختلفة جدًا دون تكرار الإعدادات أو التنسيق.


:notebook: تضمين المنشورات

يمكن تضمين محتوى الدعم مباشرة في المنشورات.

فعّل enable_post_embed، ثم استخدم:

[wrap=donate]
[/wrap]

تتوفر عروض إضافية مباشرة من خلال المغلّف:

[wrap=donate-compact]
[/wrap]

[wrap=donate-minimal]
[/wrap]

[wrap=donate-progress]
[/wrap]

يتحكم المغلّف في العرض، بينما يتحكم إعداد design العام في التصميم البصري.

هذا مفيد عندما يحتاج محتوى الدعم إلى أن يكون جزءًا من سياق منشور معين بدلاً من الظهور كعنصر واجهة برمجة تطبيقات عام.


:electric_plug: دعم مآخذ الإضافات

يمكن للمكوّن عرض ويدجت الدعم من خلال مآخذ الإضافات.

فعّل outlet_enabled وحدد أسماء المآخذ المطلوبة في outlet_locations، مفصولة بـ |.

يمكن تكوين عرض وتصميم المخرج بشكل مستقل:

  • outlet_view
  • outlet_design

هذا يجعل من الممكن استخدام مكوّن الدعم في مواقع مثل قوائم المواضيع، والترويسات، والتذييلات، والمآخذ الأخرى المدعومة.


:loudspeaker: التوافق مع إعلانات Discourse

يمكن أيضًا استخدام المكوّن مع إضافة إعلانات Discourse.

بدلاً من الاعتماد مباشرة على إضافة الإعلانات، يوفر دعم المجتمع علامة تضمين HTML مستقرة:

<div data-donation-widget="support"></div>

يمكن نسخ هذا إلى إعلان HTML ووضعه في مخرج الإعلانات المطلوب.

يملك المكوّن هيكل HTML و CSS، لذا لا حاجة لتكرار تنسيق التبرعات داخل الإعلان نفسه.

يمكن تجاوز العرض والتصميم اختيارًا:

<div
  data-donation-widget="support"
  data-view="compact"
  data-design="minimal"
></div>

هذا يعني أن نفس نظام الدعم يمكن إعادة استخدامه عبر مواقع إعلانية مختلفة مع الحفاظ على تصميم متسق.


:globe_with_meridians: تضمينات HTML عامة

يمكن أيضًا استخدام آلية التضمين نفسها في مواقع أخرى تدعم HTML:

<div data-donation-widget="support"></div>

تبقى علامة HTML بسيطة عمدًا بينما يتولى مكوّن السمة العرض الفعلي.

هذا يجعل من الممكن تغيير التصميم أو تنفيذ المكوّن دون الحاجة إلى إعادة كتابة كل تضمين فردي.


:eyes: أدوات التحكم في الرؤية

يمكن التحكم في محتوى الدعم التلقائي والمعروض عالميًا من خلال عدة إعدادات:

  • عرض للأعضاء
  • عرض للمستخدمين المجهولين
  • مستوى الثقة الأدنى
  • المجموعات المستبعدة
  • عرض في الصفحة الرئيسية
  • مطابقة الرابط/المسار

تُطبق المجموعات المستبعدة على محتوى الدعم المعروض تلقائيًا مثل النافذة المنبثقة، وويدجت مآخذ الإضافات، والتضمينات العامة.

يبقى المحتوى السياقي متاحًا:

  • #donate
  • [wrap=donate]

هذا يجعل من الممكن استبعاد مستخدمين معينين من واجهة الدعم الترويجية/التلقائية دون منعهم من الوصول إلى رابط دعم مشترك صراحةً أو كتلة دعم سياقية.


:cookie: التحكم في الإغلاق / الكوكيز

عند إغلاق النافذة المنبثقة التي تُفتح تلقائيًا، يمكن للمكوّن تذكر ذلك القرار.

يمكن تكوين مدة صلاحية الكوكي كـ:

  • لا شيء
  • دقيقة
  • يوم
  • أسبوع
  • شهر
  • سنة

يمنع هذا النافذة المنبثقة التلقائية من الظهور بشكل متكرر لنفس الزائر وفقًا للمدة المحددة.


:memo: أمثلة أساسية

فتح نافذة الدعم المنبثقة

#donate

تضمين محتوى الدعم في منشور

[wrap=donate]
[/wrap]

نسخة مدمجة للمنشور

[wrap=donate-compact]
[/wrap]

تضمين HTML عام

<div data-donation-widget="support"></div>

تضمين مع عرض مخصص

<div
  data-donation-widget="support"
  data-view="compact"
  data-design="minimal"
></div>

:heart: ./support --coffee

8 إعجابات

رائع، بل هو أمرٌ ضروري للغاية في أيامنا هذه.

وفي الوقت نفسه، أشعر بخيبة أمل كبيرة لأنني أعيش في بلد يُعدّ جمع التبرعات بهذه الطريقة غير قانوني. علينا في فنلندا أن نبيع شيئًا — أو أن نتحمل المخاطرة. حسنًا، هذا موضوع جانبي تمامًا.

إعجابَين (2)