ينطبق الإصلاح فقط على المنشورات التي تُنشر باستخدام محرر بلوك في ووردبريس. سيصلح المنشورات القديمة إذا تم النقر على زر “تحديث موضوع ديسكورس” في ووردبريس. سيتطلب ذلك إجراءً يدويًا لكل منشور ما لم يكتب شخص ما سكريبتًا لتمرير المنشورات القديمة.
لا نرغب مطلقًا في الانحراف عن المواصفة هنا. أعتقد أننا سنصلح مشكلة الصور التي يتم ربطها مباشرة (hotlink images) للسماح بذلك عن طريق حقن سطرين جديدين في الحالات المشابهة. أظن أن هذا نادر نسبيًا وهو نوع من المشاكل التي نخلقها بأنفسنا.
حل بديل لهذه المشكلة هو منع Discourse من تحميل الصور عن بُعد. يمكن القيام بذلك بإضافة نطاق الصورة إلى إعداد الموقع “النطاقات المعطلة لتحميل الصور”. كما يمكن أيضًا منع Discourse من تحميل جميع الصور عن بُعد عن طريق تعطيل إعداد الموقع “تحميل الصور عن بُعد إلى المحلي”. راجع Fix broken images for posts created by the WP Discourse and RSS plugins للحصول على التفاصيل.
في حالتنا، لا يمكننا ذلك لأننا نستخدم مكون الصورة المصغرة الرسمية للموضوع، والذي يتطلب صورة محلية. حللنا المشكلة بإضافة أسطر جديدة قبل أي <img> في المحتوى قبل إنشاء الموضوع باستخدام WP-Discourse. هذا ليس حلاً مناسبًا للجميع، لكنه يعمل لدينا. من المؤسف قليلاً أن ديسكورد لا يدعم هذا الاستخدام القانوني.
لكن نعم، إذا لم تكن مقيدًا بإضافة أو مكون، أو إذا لم تتمكن من إصلاح المحتوى قبل إنشاء الموضوع، فهذا بالتأكيد حل بديل معقول.
ما زلنا نخطط لإصلاح المشكلة. للأسف، إنها مشكلة عميقة نسبيًا في نظام تصيير لغة المارك داون الخاص بنا، وهو أمر معقد للإصلاح. لكننا سنصل إلى ذلك - نعتذر عن تأخرنا!
نعتذر عن تعدد المنشورات في هذا الموضوع، لكن المشكلة تؤثر أيضًا على الصور في المنشورات التي يتم إنشاؤها عبر إضافة Zendesk لدينا عند تفعيل إعداد “مزامنة التعليقات من Zendesk”. تكمن الصعوبة في هذه الحالة في أنه لا يمكن معرفة مصدر الصور مسبقًا، وبالتالي لن تعمل حيلة إضافة مصدر الصورة إلى إعداد “نطاقات تحميل الصور المعطلة”.
هل توجد طريقة لمنع تحميل الصور البعيدة إلى الجهاز المحلي إذا كانت وسم الصورة محاطة بوسوم HTML؟
أخشى أن هذا غير ممكن على الإطلاق؛ فإذا قمنا بمثل هذا الإجراء، فسنتيح لأطراف ثالثة تتبع الاستخدام في المنتدى عن طريق حقن صورة تتبع. إن ميزة تحميل الصور البعيدة هي جزء من نظام الأمان.
بدلاً من ذلك، أعتقد أننا بحاجة إلى نظام “أذكى” يعمل بطريقة مشابهة للطريقة التي بنى بها @tgxworld خرائط الصور الخاصة بنا قبل بضع سنوات، نظام يعمل بشكل عكسي من HTML ويضمن استقرار التغيير من خلال إعادة الطهي. تغيير معقد للأسف.
فقط أفكر بصوت عالٍ هنا، لكنني أتساءل عما إذا كان بإمكاننا تجاوز هذه المشكلة الصعبة (أي تحويل HTML إلى Markdown). للتذكير (لمساعدة التفكير في هذا الأمر)
يدعم Discourse استيراد HTML لإنشاء محتوى المنشورات (مثل HTML من WP Discourse).
في بعض السياقات، يتوقع المستخدم الحفاظ على سلامة HTML الأصلي تمامًا.
تشمل “السلامة” هنا جانبين على الأقل:
كيفية عرض المحتوى، مثل فواصل الأسطر
مكان استضافة الوسائط، مثل تنزيل الصور محليًا لتجنب الصور التالفة، أو ربما لأسباب تتعلق بالأمان
قد يؤدي تحويل HTML إلى Markdown إلى مشاكل من النوع الأول من السلامة، ومع ذلك فهو ضروري حاليًا لضمان النوع الثاني من السلامة.
لذا، ربما تكون إحدى الطرق لمعالجة هذه المشكلة لبعض المنشورات المستوردة هي تخزين HTML المستورد مباشرة كمحتوى منشور مطبوخ، ودعم مهمة pull_hotlinked_images لتنزيل الصور في مثل هذا المحتوى دون تحويل img إلى Markdown.