Moetwemoji: إيموجي متحركة خفيفة (AVIF) - أضف الحيوية إلى منتدىك

PixPin_2026-01-04_22-04-17

مرحباً بالجميع! :waving_hand:

لقد أنشأت إضافة جديدة لجلب المزيد من الحيوية والتعبيرات الديناميكية إلى مجتمعات Discourse. تقدم Moetwemoji مجموعة من الرموز التعبيرية المتحركة التي تجعل التفاعلات أكثر حيوية ومتعة.

:rocket: الميزات الرئيسية

  • خفيفة الوزن للغاية: جميع الرموز التعبيرية مشفرة بتنسيق AVIF.

  • أداء عالٍ: يبلغ متوسط حجم الملف حوالي 10 كيلوبايت فقط، مما يضمن تحميل المنتدى الخاص بك بسرعة مع الحفاظ على مظهر رائع.

  • نشر مرن: أقدم نسختين مختلفتين حسب احتياجاتك (تجاوز أو تكملة).


:package: اختر نسختك

لقد أعددت مستودعين منفصلين اعتمادًا على كيفية رغبتك في دمج هذه الرموز التعبيرية في منتدىك.

الخيار 1: نسخة التجاوز (استبدال كامل)

إذا كنت ترغب في استبدال مجموعة Twemoji الثابتة الافتراضية بالكامل بهذه المجموعة المتحركة، فاستخدم هذا الإصدار. إنه يتجاوز الإعدادات الافتراضية للنظام، مما يجعل الحركة هي التجربة القياسية.

الخيار 2: حزمة الإصدار (تكملة)

إذا كنت تفضل الاحتفاظ بالرموز التعبيرية القياسية وإضافة هذه كـ “حزمة” إضافية في منتقي الرموز التعبيرية، فاستخدم هذا الإصدار. إنه يضيف علامة تبويب جديدة إلى محدد الرموز التعبيرية الخاص بك دون المساس بالإعدادات الافتراضية.


13 إعجابًا

شكراً للمشاركة :+1:

أردت أن أجرب ولكنها لا تعمل على الرغم من إضافة المستودع في ملف app.yaml

هل هناك إعداد يجب القيام به؟

شكراً

حسنًا، يرجى تجربة التثبيت اليدوي

دليل التثبيت اليدوي (إصدار التجاوز)

يشرح هذا الدليل كيفية التثبيت والتطبيق يدويًا للإضافة discourse-moetwemoji-twemoji-fakepng-override داخل حاوية Discourse قيد التشغيل، ويوضح لماذا ليس من الضروري بشكل صارم إجراء إعادة بناء كاملة لإصدار التجاوز.


1. الدخول إلى حاوية Discourse

على الخادم الخاص بك، انتقل إلى دليل Discourse Docker (عادةً /var/discourse) وادخل إلى الحاوية قيد التشغيل:

cd /var/discourse
./launcher enter app

يجب أن تكون الآن داخل قوقعة الحاوية.


2. استنساخ إضافة التجاوز يدويًا

انتقل إلى دليل الإضافات واستنسخ المستودع:

cd /var/www/discourse/plugins
git clone https://github.com/constansino/discourse-moetwemoji-twemoji-fakepng-override.git

تحقق من وجود الدليل:

ls discourse-moetwemoji-twemoji-fakepng-override


3. تطبيق تجاوز الرموز التعبيرية

ارجع إلى دليل جذر Discourse:

su - discourse
cd /var/www/discourse

تحقق من الحالة الحالية (اختياري ولكن موصى به):

RAILS_ENV=production bundle exec rake moetwemoji_twemoji:status

قم بتطبيق التجاوز:

RAILS_ENV=production bundle exec rake moetwemoji_twemoji:apply

إذا انتهت الأوامر دون أخطاء، فقد تم استبدال ملفات PNG الخاصة بـ Twemoji بملفات Moetwemoji.


4. ملاحظات هامة حول عمليات إعادة البناء (الاستمرارية)

:red_exclamation_mark: لا يلزم إجراء إعادة بناء لكي يعمل التجاوز

يعمل إصدار التجاوز هذا عن طريق استبدال الملفات مباشرة في الحاوية قيد التشغيل.
لذلك:

  • :white_check_mark: لست بحاجة إلى تشغيل ./launcher rebuild app

  • :white_check_mark: تدخل التغييرات حيز التنفيذ فورًا بعد تشغيل مهمة الـ rake

:warning: لكن التغيير غير دائم

نظرًا لأن هذا يتم داخل نظام ملفات الحاوية:

  • أي عملية ./launcher rebuild app مستقبلية

  • أو إعادة إنشاء / ترقية الحاوية

سوف تمحو التغييرات، وسيتم فقدان تجاوز الرموز التعبيرية.

:backhand_index_pointing_right: إذا كنت بحاجة إلى الاستمرارية عبر عمليات إعادة البناء، فيجب عليك تثبيت الإضافة عبر خطافات app.yml وإعادة البناء بشكل صحيح.


5. مسح ذاكرة التخزين المؤقت لشبكة توصيل المحتوى (CDN) وذاكرة التخزين المؤقت للمتصفح (مهم جدًا)

بعد تطبيق التجاوز، قد تظل الرموز التعبيرية تظهر دون تغيير بسبب التخزين المؤقت.

5.1 مسح ذاكرة التخزين المؤقت لشبكة توصيل المحتوى (مثل Cloudflare)

إذا كنت تستخدم شبكة توصيل محتوى مثل Cloudflare:

  • قم بإلغاء ذاكرة التخزين المؤقت لـ:

    • /images/emoji/*

    • أو قم بإجراء مسح كامل لذاكرة التخزين المؤقت إذا لزم الأمر

وإلا، فقد يستمر تقديم ملفات PNG القديمة لـ Twemoji.

5.2 مسح ذاكرة التخزين المؤقت للمتصفح

على جانب العميل:

  • تحديث الصفحة بالقوة (Ctrl + F5 / Cmd + Shift + R)

  • أو مسح ذاكرة التخزين المؤقت للمتصفح

  • أو الاختبار في نافذة متصفح متخفية/خاصة

حتى يتم مسح ذاكرة التخزين المؤقت لكل من شبكة توصيل المحتوى والمتصفح، قد لا تظهر تغييرات الرموز التعبيرية.


6. ملخص

  • يمكن تثبيت وتطبيق إضافة التجاوز هذه دون إعادة بناء

  • التثبيت اليدوي مفيد لـ:

    • الاختبار

    • الاستخدام المؤقت

    • تصحيح الأخطاء

  • الجانب السلبي هو نقص الاستمرارية

  • امسح دائمًا ذاكرة التخزين المؤقت لشبكة توصيل المحتوى + ذاكرة التخزين المؤقت للمتصفح بعد تطبيق تجاوزات الرموز التعبيرية


هل قمت بتشغيل المهمة كما هو موضح في README؟

يوفر ملف README هذا طريقتين للتثبيت:

  1. تتطلب الطريقة الأولى إعادة بناء.
  2. الطريقة الثانية هي الدخول يدويًا إلى الحاوية وتنزيلها من GitHub.

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

لاحظت أن ملف Readme يشرح طريقتين للتثبيت، ولكنه يذكر أيضًا:

cd /var/discourse
./launcher enter app

su - discourse
cd /var/www/discourse

RAILS_ENV=production bundle exec rake moetwemoji_twemoji:status
RAILS_ENV=production bundle exec rake moetwemoji_twemoji:apply

وهو ما لم يُذكر في المنشور الأول هنا على Meta. تمامًا مثل المعلومات المتعلقة بالتخزين المؤقت (caching). لهذا السبب اعتقدت أن شخصًا ما قد يغفل ذلك.


بالمناسبة، كلا الرابطين لديك في المنشور الأول يحتويان على بحث جوجل. هل هناك سبب لعدم الربط مباشرة بـ GitHub؟

لماذا يُطلق عليها اسم “moetwemoji”، ومجلد الرموز التعبيرية يسمى “twemoji” بينما الرموز التعبيرية المتحركة هي رموز Google Noto التعبيرية المتحركة الرسمية؟

ومع ذلك، يُذكر هذا في هذا الملف، حيث يكون الإسناد غير مكتمل. يُقال إن الملف قيد العمل، ولكنني أتوقع أن يكون الإسناد كاملاً قبل توزيع مكون السمة الخاص بك :face_with_tongue:

3 إعجابات

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

إعجابَين (2)

شكرًا لك على الإشارة إلى هذا الأمر - أنت على حق تمامًا.

التسمية تاريخية وتأتي من بنية الرموز التعبيرية الافتراضية لـ Discourse، لكن الأصول المتحركة الفعلية هي من Google Noto Emoji، وليس Twemoji. أتفق على أن هذا مربك ويحتاج إلى توضيح.

أنا حاليًا:

  • أقوم بتحديث الإسناد للامتثال الكامل لترخيص Noto Emoji
  • أوضح مصدر الأصول في ملف README
  • أراجع التسمية / هيكل المجلد لتقليل الالتباس

شكرًا لك على المراجعة وعلى اكتشاف هذا الأمر.

إعجابَين (2)