مرحبًا،
منذ إصدار Discourse 2.5.0 الأخير، أواجه مشاكل في توليد الصور المصغرة.
يبدو أن الصور المصغرة تُنشأ الآن من النواة (core)، مما أدى إلى حذف جميع الصور المصغرة الموجودة.
حاولت عمليات متنوعة لإعادة استعادتها، وسأشرح الحالات التي لا تعمل فيها.
ملاحظة: ربما يكون هناك سبب وجيه لهذا التغيير، لكن سيكون موضع ترحيب كبير عدم إدخال تغيير مفاجئ في السلوك يكسر الوظائف دون توفير طريقة للاستعداد له، من خلال دليل ترقية و/أو خيار للانضمام إلى هذا التغيير، من فضلك. ![]()
السياق
- Discourse 2.5.0 beta4 (faeb5793ba)
- إضافة Topic List Preview الإصدار 4.4.0
- WP-Discourse: منشورات نُشرت كما هي (HTML كامل) في مواضيع Discourse (الرسالة الأولى).
حول محتوى منشور، هذا مثال (منسق من أجلك):
المحتوى
كود HTML للصورة لسهولة الاستخدام:
<img
width="150"
height="84"
src="https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg"
class="attachment-thumbnail size-thumbnail"
alt=""
srcset="
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg 150w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-300x169.jpg 300w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-1200x675.jpg 1200w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-1536x864.jpg 1536w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-2048x1152.jpg 2048w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-788x443.jpg 788w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית.jpg 1280w
"
sizes="(max-width: 150px) 100vw, 150px"
/>
<div data-wp>
<a
href="https://www.banggood.com/Xiaomi-Redmi-Router-AC2100-2033Mbps-2_4G-5G-Dual-Band-Wireless-Router-6High-Gain-Antennas-128MB-OpenWRT-WiFi-Router-p-1614038.html"
target="_blank"
><img src="https://zuzu.deals/wp-content/uploads/2020/01/5e3128b4e5da7-150x150.jpg"/>
</a>
<div>
<div data-buy>
<a
href="https://www.banggood.com/Xiaomi-Redmi-Router-AC2100-2033Mbps-2_4G-5G-Dual-Band-Wireless-Router-6High-Gain-Antennas-128MB-OpenWRT-WiFi-Router-p-1614038.html"
target="_blank">קנייה
</a>
<span data-clipboard-text="BG38b2ac" data-coupon>BG38b2ac</span><i></i>
</div>
<div data-price>$43.99</div>
</div>
</div>
<hr />
<p>
<small>
פורסם ב: <a href="https://zuzu.deals/%d7%a7%d7%95%d7%a4%d7%95%d7%9f-%d7%91%d7%9c%d7%a2%d7%93%d7%99-%d7%a8%d7%90%d7%95%d7%98%d7%a8-%d7%97%d7%96%d7%a7-%d7%95%d7%97%d7%93%d7%a9-%d7%a9%d7%9c-%d7%a9%d7%99%d7%90%d7%95%d7%9e%d7%99-xiaomi-re-2/"></a>
</small>
</p>
<br />
<p>נעים להכיר!</p>
قبل تحديث Discourse
كانت TLP تعمل دائمًا بشكل جيد مع الصور الخارجية لدينا، سواء عند إنشاء الموضوع أو تعديله.
ومع ذلك، كانت خيار “تحميل الصور البعيدة إلى المحلي” معطلاً بسبب مشكلة في التنسيق (markdown).
مشكلة عرض التنسيق (Markdown)
هذه ليست المشكلة الرئيسية، ولا تزال تحدث بعد تحديث Discourse، إليك بعض الشرح.
عندما يقوم Discourse بتحميل واستبدال كود HTML للصورة ببناء جملة التنسيق الخاص به – في سياقنا، ينتج عن ذلك:
[...]<a href="<link_here>" target="_blank"></a>[...]
لا يستطيع Discourse عرض الصورة
الصورة

لحل المشكلة، تحتاج على الأقل إلى سطر فارغ أعلاه:
[...]<a href="<link_here>" target="_blank">
</a>[...]
هل من الممكن السماح بعرض صورة بتنسيق markdown محاطة بـ HTML، من فضلك؟
بعد تحديث Discourse
- تم حذف جميع الصور المصغرة.
- تُعرض جميع الصور بشكل صحيح في محتوى الموضوع.
- بسبب هذه الميزة (https://github.com/discourse/discourse/commit/03818e642a1ae871bffdc0c39c10f05f0b8b0398، أعتقد)، أُجبرنا على تمكين خيار “تحميل الصور البعيدة إلى المحلي” حيث يبدو أنه لم يعد من الممكن الحصول على صورة مصغرة من رابط خارجي…

- تم ضبط خيار “أقصى عدد أيام للصور البعيدة” على الحد الأقصى، وهو 10000.
من هنا، قيل لي إعادة بناء جميع المنشورات لتحميل الصورة. وهنا يبدأ الأمر في الغرابة.
- أمر
rake posts:rebakeلم يكن له تأثير كبير (على الأقل ليس في الرسالة الأولى للموضوع، لكنه أدى إلى تشغيل العديد من عملياتPullHotlinkedImages).
1.1. عند النظر في بعض المواضيع، ظننت أن كود HTML للصورة الذي يحتوي على سماتclassأوsrcsetهو السبب، لذا حاولت تطبيع جميع الصور بالكود التالي (لا أعرف Ruby) – ساعد ذلك في بعض المواضيع.
1.2. ومع ذلك، بسبب مشكلة التنسيق، اضطررت لإضافة أسطر جديدة لإصلاحها. – على الأقل في تلك المواضيع، عملت الصور المصغرة.
الكود
Post.where(post_number: 1)
.where("raw LIKE '%<img%/>%'")
.each
do |post|
post.raw.gsub!(/<img[^>]+(src="[^"]+")[^>]+\/>/, "<img \\1 />")
post.save!(validate: true)
post.rebake!
end
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
- التعديل اليدوي (دون تغيير المحتوى، فقط الحفظ) لموضوع مُهمَل يعمل في معظم الأحيان. يتم تحميل الصورة.
2.1. بعض المواضيع تُهمَل حتى بعد التعديل. يمكنني رؤية أنPullHotlinkedImagesتم تشغيله ولكن لم يتم تحميل أي صور. (مثل هذا html<img src="https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg" />، رابط) - بعد التطبيع، ورؤية أن التعديل يمكن أن يساعد في تحميل الصورة، حاولت تشغيل
rake posts:rebakeعدة مرات – بدون تأثير. - ثم حاولت استخدام وحدة تحكم Rails مشابهة للكود أعلاه ولكن مع معرف موضوع محدد ومع
post.rebake!فقط – بدون تأثير. - لا يتم تحميل جميع صور الموضوع دائمًا.
- أشار @Canapin إلى Download remote images from older posts? - #3 by vinothkannans جاري الآن إعادة بناء جميع المنشورات. – لم يساعد للأسف
من الجنون أن بعض الصور تعمل والبعض الآخر لا. لا أعتقد أنها مسألة معايير. إعدادات الصور عالية. أنا حقًا لا أفهم المنطق وراء ذلك، يبدو عشوائيًا.
حاليًا، لا تزال لدينا العديد من الصور المصغرة المفقودة. على الأرجح يمكن إصلاح معظمها يدويًا عن طريق التعديل/الحفظ، لكن هذا غير عملي. أقوم بذلك لعميل، وقد ضاعت الكثير من الوقت بالفعل في محاولة إصلاح المشكلة.
لا يزعجني وجود صور مُحمَّلة كصور مصغرة، لكن:
- هل يمكنك إخباري إذا كانت هناك أسباب محددة لعدم تحميل الصور؟ هل توجد إعدادات يمكن أن تساعد؟ هل نحتاج إلى شيء ما؟ كيف نصحح الأخطاء (debug)؟
- هل هناك طريقة لإجبار تحميلها مشابهة للتعديل/الحفظ عبر وحدة التحكم؟
- هل يمكن السماح بعرض صور بتنسيق markdown إذا كانت محاطة بـ HTML؟
آمل أنني كنت دقيقًا بما يكفي في وصف المشكلة.
شكرًا مقدّمًا على أي مساعدة وحل.







(النظام يستبدل الصورة بتنسيق ماركداون)