أواجه مشكلة في تنسيق كتل التعليمات البرمجية في Discourse. عند نشر تعليمات برمجية بلغة Python، يتم تمييز أجزاء معينة من التعليمات البرمجية (مثل عناوين URL والمسارات) باللون الأحمر أو تنسيقها بشكل غير متوقع، كما هو موضح في لقطة الشاشة أدناه:
عند نشر تعليمات برمجية بلغة Python باستخدام علامات الاقتباس الثلاثية لكتل التعليمات البرمجية، يتم تمييز أجزاء معينة من النص (مثل الشرطات السفلية في عناوين URL أو المسارات) باللون الأحمر أو تنسيقها بشكل خاطئ.
لقد حاولت الهروب من الأحرف، واستخدام كيانات HTML، وإزالة تمييز الصيغة عن طريق عدم تحديد اللغة، ولكن المشكلة لا تزال قائمة.
مثال على التعليمات البرمجية
إليك مقتطف من التعليمات البرمجية التي تسبب المشاكل (Python):
شكراً لاقتراحك يا @bryce! سأحاول تعديل CSS في سمة موقعنا لمعالجة مشكلة النص الأحمر.
أعتقد أن المشكلة الرئيسية هي أن الخط في لقطة الشاشة الأصلية الخاصة بي غير مُنسق ليبدو كرمز - فهو يفتقر إلى نمط الخط أحادي المسافة المستخدم عادةً لمقاطع الرموز. من الناحية المثالية، كنت آمل أن يظهر الرمز بشكل أقرب إلى هذا، مع الخط الصحيح ولون الخط:
هل هناك طريقة لضمان عرض الرمز بخط أحادي المسافة، مشابه للخط في هذا المثال؟
بخلاف ذلك، لم ألاحظ أي مشاكل تنسيق رئيسية أخرى، لكنني سأستمر في الاختبار وسأعلمك إذا ظهر أي شيء آخر.
يبدو أن hljs (مكتبة التمييز المستخدمة) قد لا تدعم تمييز معرفات بايثون مثل degirum في مثالك، ولكن يجب أن تكون قادرًا على الاقتراب بشكل كبير عن طريق تغيير الألوان الأخرى.
بالنسبة للخط، هذا غريب - يجب أن تظهر كتل الكود بخط أحادي المسافة افتراضيًا. أقترح التحقق مرة أخرى من السمة الخاصة بك للتأكد من عدم تجاوز أي شيء هناك.
للتوضيح فقط، نحن نستخدم حاليًا السمة الافتراضية (Default theme) بدون أي مكونات إضافية، لذلك من الغريب ألا يتم تطبيق الخط أحادي المسافة (monospace) افتراضيًا على كتل التعليمات البرمجية. لا يبدو أن هناك أي شيء يتجاوزها.
للمرجع، أعمل من Chrome الإصدار 127.0.6533.100 على macOS 14.6.1.
تبدو الخطوط صحيحة، ويتم تمييز الروابط كما هو متوقع. ومع ذلك، ما زلت أواجه المشكلة في مجتمعنا حيث لا يتم عرض الخط بشكل صحيح، ولا يتم تمييز الروابط كما ينبغي.
شكراً لكما على تخصيص الوقت لمساعدتي في هذا الأمر. من الجيد معرفة أن الخط يظهر كخط أحادي المسافة للآخرين.
نظرًا لأنه لا يتم عرضه بشكل صحيح من جهتي، فقد تكون هناك مشكلة خاصة بإعداداتي أو بيئتي. إنه لا يظهر بشكل صحيح بالنسبة لي على كل من Chrome و Safari (كلاهما أحدث الإصدارات). كما أنه لا يظهر بشكل صحيح للآخرين في مؤسستي على أجهزة الكمبيوتر الشخصية.
هذا ما أتوقعه. هذه السلاسل النصية بلون مختلف حتى تتمكن من تمييز أنها سلاسل نصية بسرعة. أليس هذا ما يبدو عليه الحال في محرر النصوص الخاص بك؟
أعتقد أنك قد ترغب فقط في تغيير SiteSetting.default_code_lang إلى “text” أو “”. هناك أيضًا إعداد highlighted_languages. أنا متأكد من أنهم هنا قاموا بتغيير لغة الكود الافتراضية إلى شيء مثل النص، لذا