كتم تنبيهات المستخدمين في المشاركات المستوردة

نحن نستورد مجموعة من المنشورات، وغالبًا ما يحتوي المحتوى على نصوص مثل @global أو ما شابه (موضوع مثيل الخطاب الخاص بنا يتعلق بالبرمجة، و @ هو رمز في تلك اللغة).

هل هناك طريقة لطيفة وواضحة لكتم صوت المستخدمين؟ لا أمانع في المعالجة المسبقة للمنشورات قبل الاستيراد.

كحل بديل قذر إلى حد ما، وجدت أن إدراج علامة bbcode فارغة بعد @ يعمل (مثل @[b][/b]global). إنها لا تبدو حلاً جيدًا جدًا وسيتطلب مني تحليل/ترميز العلامات، نظرًا لأنه لا يجب إدراج bbcode إذا كان السلسلة النصية داخل كتلة رمز. لذا فهي ليست حلاً جيدًا. كما أن المسافة ذات العرض الصفري ليست حلاً لأنها ستؤدي إلى أخطاء غريبة عندما ينسخ المستخدمون مقتطف الرمز إلى الكود المصدري الخاص بهم.

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

أو قم بإيقاف تشغيل إعداد السماح للمستخدمين بالإشارة إلى مستخدمين آخرين أثناء استيراد البيانات.

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

بالتأكيد، إذا كان @name في كتلة رمزية فلن تكون مشكلة. المشكلة هي اكتشاف متى يكون كذلك ومتى لا يكون، حتى أتمكن من منع الإشارة خارج الكتل الرمزية عن طريق إدراج العلامة غير المرئية [b][/b] بين @ و name. سيتطلب ذلك بالفعل محلل/محلل علامات markdown كامل.

هممم، هل ينطبق ذلك حتى عندما يتم إعادة خبز المنشور لاحقًا أم سيؤدي ذلك إلى إشارات عشوائية في تلك الحالة؟

أنا متأكد من أنه عندما يتم إعادة خبزها، يتم التبديل لتجنب التنبيهات والإشارات، لكنني لم أتحقق من الكود ولم أجرب ذلك.

لا أرى أي شيء يمنع الإشعارات، حيث يتم نشر التغييرات مباشرة إلى العملاء على حد فهمي (لكنني لست خبيرًا في Ruby أو Discourse، لذا يرجى تصحيحي إذا كنت مخطئًا):

أعتقد أن هذا

أعتقد أن تجاوز التحديث يمنع أيضًا حدوث الإرشاد مرة أخرى، ولكن “تشغيل معالجة المنشور” لديه

`new_post: false,`

لذا أعتقد أنك بأمان.

إعجابَين (2)

يا لها من ملاحظة جيدة، لقد فاتني هذا الجزء! ممتاز، سأفعل ذلك إذن :sparkles:

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

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

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.