مشكلة MyCode لقاعدة بيانات MyBB المستوردة

أنا في عملية نقل منتدى MyBB إلى Discourse.
ألاحظ أن العديد من المنشورات المستوردة تحتوي على وسوم تنسيق MyCode مرئية، لكن ليس جميعها.

على سبيل المثال (هناك أيضًا مشاكل واضحة في ترميز أحرف UTF-8، وهي موضوع موضوع منفصل):

TTTثاو نغوين

يوليو '18

[quote=“admin, post:4, topic:1297”]

[quote=“Bruce Mitchinson, post:3, topic:1297”]

استأجر مهندس معماري جيد.
[/quote]

هل هذا قاسٍ بعض الشيء يا بروس؟

اعتمادًا على الارتفاعات النسبية بينÂ المبنيين، ماذا عن إنشاء سلسلة من الكمرات الرابطة كنوع من البيرغولا بينهما؟Â وربماÂ قماش مشدود أو شيء مشابه لتتمكن من الانتقال من مبنى إلى آخر دون أن تبلل؟
[/quote]

شكرًا لك يا بول، لست متأكدًا من أن هذا سيعمل بناءً على ردودهم أدناه-

[color=#222222][size=medium][size=small][font=Calibri, sans-serif]المسألة ليست فيما إذا كانت السلالم تُعتبر مبنى أم لا، فاستفساري لا يتعلق باستبعاد ذلك، بل بطبيعةÂ الربطÂ بين المبنيين لتحديد ما إذا كانا مبنى واحدًا أم اثنين.[/font][/size][/size][/color]
[color=#222222][size=medium][size=small][font=Calibri, sans-serif]Â [/font][/size][/size][/color][color=#222222][size=small][font=Calibri, sans-serif]لا يوجد اتصال داخلي أو وصول بين المبنيين، لذا لا يُفسر على أنه مبنى واحد/خلية حريق.[/font][/size][/color]
[color=#222222][size=medium][size=small][font=Calibri, sans-serif]Â [/font][/size][/size][/color][color=#222222][size=small][font=Calibri, sans-serif]لذلك فإن C/AS1 5.1.2 ساري المفعول[/font][/size][/color]

إذن «الوصول الداخلي» هو العامل الحاسم… على الرغم من أنني متأكد تمامًا من أنني رأيت العديد من المرافق وغيرها المرفقة بالمنزل دون وصول داخلي ولا تتطلب تصنيفًا للحريق. (للتوضيح، لدينا مهندس حريق في هذه المهمة، لكنهم لا يبدون وكأنهم يولون أي انتباه لما يقوله هو أيضًا!!) ربما أحتاج إلى استئجار مهندس حريق جيد أيضًا!!!  :-/

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

كيف يمكن تحليل هذه العناصر بحيث يظهر التنسيق المقصود (الذي يبدو جيدًا في MyBB) في Discourse بدلاً من ظهور وسوم التنسيق، قدر الإمكان؟

أفترض أن المشكلة تكمن جزئيًا على الأقل في أن Discourse لا يدعم النص الذي يحتوي على خط أو حجم أو لون محدد من قبل المستخدم؟

[color=#222222][size=medium][size=small][font=Calibri, sans-serif]

أو ما أظنه أنه فواصل سطر صلبة

[hr]

ليس لدي مشكلة شخصية مع عدم دعم Discourse لخطوط متعددة إلخ، لكن سيكون من الجيد وجود طريقة لتصفية أي وسوم تنسيق غير قابلة للاستخدام بنعومة أثناء الاستيراد.
لقد قمت بتثبيت GitHub - discourse/discourse-bbcode: vBulletin BBCode plugin · GitHub على أمل أن يساعد، لكن يبدو أن هذه الإضافة لم تعد تعمل تحت الإصدار الحالي من Discourse

وبالمثل، عندما يشير وسم MyCode إلى صورة مرفقة (كانت مضمنة مع النص في النسخة الأصلية من MyBB)، كيف يمكن جعل هذا المرفق يظهر مضمنًا مع النص بدلاً من ظهور الوسم؟

يمكنك الاطلاع على مستورد vBulletin الذي يقوم بعدة استبدالات لهذه الوسوم. هناك أيضًا ملحق bbcode يدعم العديد منها.

بالنسبة إلى علامات الاقتباس، يجب التأكد من وجود أسطر جديدة قبل علامة الافتتاح وبعدها بعد علامة الإغلاق.

واجهتُ نفس المشكلة عند استيراد منتدى PhpBB قديم جداً (من عام 2002)، وقمتُ بإضافة تعبيرات نمطية (regex) مختلفة إلى أداة الاستيراد لإزالة (أو ربما استبدال في بعض الحالات) وسوم BBCode هذه. وقد نجح الأمر بشكل جيد في النهاية.

واجهتُ أيضاً مشكلة [quotes] عندما اضطررتُ إلى “نقلها” إلى سطر خاص بها لكي تُعرض بشكل صحيح باستخدام Markdown.

وجدتُ هذا في بعض سجلاتي الشخصية، وأعتقد أنه ما حققته لهذه المشكلة بالتحديد:

text.gsub!(/(\[\/?quote.*?\])/mi) { |q| "\n#{q}\n" }

بناءً على ما كتبته في ذلك الوقت، نجح الأمر مع جميع الاقتباسات في 150,000 رسالة باستثناء… 57 اقتباساً لأسباب غير معروفة، وكان عدد الاقتباسات الفاشلة هذا صغيراً جداً لدرجة أنه لم يكن له أهمية كبيرة. بل كنتُ أستطيع حتى إصلاحها يدوياً.

يحتوي مستورد vBulletin على عدة استبدالات لإصدارات الاقتباس المختلفة، بما في ذلك استبدال واحد يحصل على رقم المنشور للإشارة الصحيحة.