تم إعادة الخبز. ما النتيجة الفوضوية! ![]()
حسنًا، الآن أعرف السبب وراء تعطيل هذا الخيار.
نحن نستخدم WordPress، وتحتوي المنشور الأول على HTML كامل. لا يواجه Discourse مشكلة في استبدال HTML للصور بـ Markdown، لكن صور Markdown لا يمكن عرضها إذا كانت محاطة بـ HTML (أو تحديدًا تحتاج إلى سطر فارغ واحد على الأقل في الأعلى).
لدي مشكلتان:
-
لم يتم تنزيل بعض الصور، على الأرجح بسبب سمة
srcset(ولكن هذا مقبول). تظهر الصور بشكل صحيح في المنشور الأول، لكن لم يتم إنشاء صورة مصغرة. كان هذا يعمل من قبل.هل هناك تغيير كاسر في الإضافة يمنع إنشاء الصور المصغرة للمنشورات التي تحتوي بالفعل على HTML للصور؟ أعتقد أنني أعيدت الخبز ثلاث مرات الآن، ولم يساعد ذلك. هل هناك طريقة أخرى لإجبار إعادة توليد الصورة المصغرة؟ أقصد، من قبل، حتى مع تعطيل الخيار، كان يتم إنشاء صورة مصغرة مع أي صورة عند إنشاء الموضوع أو حتى بعد تعديله؛ هذا السلوك لم يعد يعمل.
-
كما ذكر أعلاه، بعض صور Markdown لا يتم عرضها.
حاولت التحقق مما إذا كانت هناك أي واجهة برمجة تطبيقات (API) للإضافة متاحة قبل طهي المنشور، لكنني لم أجد أيًا منها.
أعتقد أن الطريقة الوحيدة هي إضافة أسطر جديدة في الرسالة الخام المعنية مباشرة في قاعدة البيانات وعبر وحدة تحكم Rails، ثم إعادة الخبز مرة أخرى.
حاليًا، أنا أواجه صعوبة (لا أعرف Ruby) بطريقة ما بناءً على كود Discourse:
يبدو أن هذا يعمل لموضوع واحد. لم يتم تنفيذه بعد لجميع المواضيع. هل هناك طريقة أفضل/أكثر نظافة لحل المشكلة دون القيام بذلك؟
Post
.where(post_number: 1)
.where("raw LIKE '%upload://%'").each do |post|
post.raw.gsub!(/(!\[.*upload:\/\/.*\))/, "\n\n\\1")
post.save!(validate: false);
post.rebake!
end
أي مساعدة مقدرة، شكرًا!