على سبيل المثال، قد تكون المشاركة **بعض النص هنا بخط عريض** وشيء آخر هنا
بعد الاستيراد، تعرض Discourse النص كما هو بالضبط، ولا تستخدم صيغة Markdown ** لتكثيف جزء “بعض النص هنا بخط عريض”. والغريب أيضًا أنه إذا حاولت تعديل مثل هذه المشاركة باستخدام واجهة Discourse الرسومية العادية، فستتجاهل أي تنسيق.
يستخدم برنامج الاستيراد cook_method: Post.cook_methods[:raw_html],
لقد جربت أيضًا cook_method: Post.cook_methods[:regular],
دون أي تغيير مرئي.
كيف يمكنني جعل Discourse يتعرف على Markdown عند استيراد البيانات؟
لقد أخذت أحد المنشورات المسيئة، ودخلت إلى وضع التعديل الخاص به، ونسخت المحتويات وأنشأت منشورات جديدة بها. تستخدم المنشورات الجديدة تنسيق Markdown، وأرى نصًا عريضًا ورابطًا بعنوان.
في قاعدة البيانات، يكون raw الخاص بهما متطابقًا ولكن cooked الخاص بهما غير متطابق.
SELECT (SELECT raw FROM posts WHERE id = 13846) = (SELECT raw FROM posts WHERE id = 13735); → t
SELECT (SELECT cooked FROM posts WHERE id = 13846) = (SELECT cooked FROM posts WHERE id = 13735); → f
النقر على “إعادة بناء HTML” على المنشورات ذات التنسيق السيئ لا يحدث أي تغيير.
/logs/ لا يُظهر شيئًا في هذا الوقت (فقط تحذيرات وأخطاء أقدم).
عندما أقوم بتحريره، تبدو المعاينة صحيحة، ويتم تطبيق تنسيق Markdown هناك (على سبيل المثال، “foo”). بمجرد الحفظ، سيظل المنشور يعرض أحرف التنسيق (على سبيل المثال، “**foo**”).
/var/www/discourse$ bundle exec rails c
Loading production environment (Rails 7.0.7)
irb(main):001:0> Post.update_all(cook_method: Post.cook_methods[:regular])
=> 13809
irb(main):002:0>
تم! للأسف لم يحدث أي تغيير.
لكنني قمت بحلها. وأنا آسف لعدم ذكر الإضافات التي قمت بتثبيتها لأنها قد تتداخل…
لدي إضافة تقييمات المواضيع مثبتة وممكّنة للفئة التي تدخل إليها عمليات الاستيراد الخاصة بي.
على سبيل الصدفة، قمت بتعطيل الإضافة وحاولت مرة أخرى تعديل منشور “معطل”. الآن عند الحفظ، تم استخدام تنسيق Markdown للعرض الفاخر. قمت بإعادة تمكين الإضافة وحاولت مرة أخرى بنجاح. قمت باستيراد منشورات جديدة وهي تعرض المنشورات بشكل صحيح الآن أيضًا (باستخدام cook_method: Post.cook_methods[:regular]).
ليس لدي أي فكرة عما كان يحدث هناك، ولكن يبدو أنه تم إصلاحه عن طريق تبديل إضافة تقييمات المواضيع إيقاف وتشغيل مرة أخرى.
شكراً لكم جميعاً على الاقتراحات الرائعة والمساعدة في البحث عن المشكلة!