الأولوية/الخطورة:
منخفض المنصة:
Chrome 124، Ubuntu 22 الإصدار:
Discourse v3.3.0.beta2-dev الوصف:
يقوم Discourse بتمييز الكود تلقائيًا باستخدام hljs، حتى عند عدم تحديد لغة. تعمل هذه الميزة في عرض الموضوع العادي، ولكن ليس عند عرض الكود في وضع ملء الشاشة. خطوات التكرار:
أنشئ موضوعًا يحتوي على كتلة كود، دون تحديد اللغة
System.out.println("hello world");
اعرض الموضوع ولاحظ أن hljs اكتشف لغة وطبق التمييز.
انقر فوق زر ملء الشاشة في الجزء العلوي الأيمن من كتلة الكود.
لاحظ أن اكتشاف لغة hljs فشل ولم يتم تطبيق أي تمييز
إليك بعض لقطات الشاشة في صورة واحدة كبيرة، بسبب قيود المستخدمين الجدد .
لديك اسم الفئة lang-auto مطبق على كود markdown ويتم إزالته تلقائيًا هنا حتى يتمكن المكتب من تخمين اللغة.
ومع ذلك، عند الانتقال إلى وضع ملء الشاشة، لم تعد lang-auto موجودة في العنصر، ولديك فقط اسم الفئة language-<detected-language-here>. وبالتالي، فإن lang غير معرف.
قد يكون الإصلاح المحتمل هنا - إذا لم يتم العثور على lang-auto، فابحث عن language-<..>
const m = className.match(/^lang-(.+)$/);
→ const m = className.match(/^`(?:lang|language)-(.+)$/);