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

PixPin_2026-01-04_22-04-17

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

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

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

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

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

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


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

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

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

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

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

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


17 إعجابًا

شكراً للمشاركة :+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؟

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

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

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

5 إعجابات

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

إعجابَين (2)

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

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

أنا حاليًا:

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

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

إعجابَين (2)

سأنتظر لأنه على الرغم من المناورات، إلا أنه لا يعمل، من ناحية أخرى، فإن منصة “ديسكورس” (Discourse) الخاصة بي موجودة على خادم مستقل خاص بي على “أوبونتو سيرفر” (Ubuntu Server). لا أعرف ما إذا كان يجب عليّ إجراء مناورة إضافية بخصوص ذاكرة التخزين المؤقت (cache)؟

فقط جرب
https://"yourdomain"/images/emoji/twemoji/hugs.png?v=15

و

https://"yourdomain"/images/emoji/twemoji/hugs.png?v=15&cache=0

كلا الرابطين يعطيان رمزًا تعبيريًا ثابتًا وغير متحرك. لذلك، بناءً على ذلك، لا أرى أي أسباب لتثبيت هذا. هل هو سؤال عن جهاز؟

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

لقد قمت بتثبيته بالفعل، ولا أرى أي شيء. ربما يجب أن أستخدم رموزًا تعبيرية أخرى في إعدادات Discourse أو شيئًا آخر، لا أعرف [1]


  1. بالإضافة إلى أنني شخصيًا أعتقد أن العناصر المتحركة هي أصداء من التسعينيات :squinting_face_with_tongue: لذلك لست متحمسًا جدًا للبدء في التعمق في هذا الأمر. ↩︎

عذرًا، لأنك قلت إنك لا ترى سببًا لتثبيته، افترضت أنك لم تفعل.

هل قمت بتشغيل مهمة rake الموضحة في ملف README الخاص بمستودع الإضافة؟ أعتقد أن هذا هو ما يضع الرموز التعبيرية المتحركة حيث حاولت الوصول إليها باستخدام الروابط.

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

أنا آسف. أنا على الهاتف وكنت/كسولًا للكتابة حينها.

لا، لم أفعل.

تعديل.

لم أقرأ ملف القراءة (readme) أبدًا، لأن الناشر الأصلي (OP) يقدم فقط رابطًا (عديم الفائدة) إلى بحث جوجل. الآن قمت بخطوات إضافية إلى المستودع الأصلي (original repo) للعثور على معلومات كان ينبغي أو يمكن أن تكون في الناشر الأصلي (OP).

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

أرى الرموز التعبيرية المتحركة بـ “https://“votre_domaine”/images/emoji/twemoji/hugs.png?v=15” ولكن عندما أريد تحديد رمز تعبيري في الدردشة على سبيل المثال، فإنه لا يعمل :thinking:

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

سيقوم جميع المسؤولين تقريبًا بإعادة البناء بشكل دوري، ويعد الثبات (persistence) هو الجانب الأكثر أهمية، لذا فإن طريقة app.yml هي الأفضل.

يمكنك أيضًا الربط بالتعليمات القياسية وتفصيل الخطوات الفريدة فقط.

3 إعجابات