Pygments بدلاً من highlight.js لتمييز الصيغة

لإبراز الصيغة، يعتمد Discourse على highlight.js ولكن Pygments تبدو أغنى. على سبيل المثال، إليك كيف تبدو شيفرة بايثون:

text = input('Type a number, and its factorial will be printed: ')
n = int(text)

if n < 0:
    raise ValueError('You must enter a non-negative integer')

factorial = 1
for i in range(2, n + 1):
    factorial *= i

print(factorial)

لمقارنتها بـ كيف يمكن أن تبدو مع Pygments:

هذا أكثر وضوحًا لكتلة شيفرة LaTeX (للأسف، هذه اللغة غير مفعلة في المنتدى الحالي) ولكن إليك كيف تبدو على منتدى Discourse الخاص بنا:

لمقارنتها بـ كيف يمكن أن تبدو مع Pygments:

أو حتى أفضل مع سمة/مُحلل مُخصص:

هل سيكون من الممكن الاعتماد على Pygments بدلاً من highlight.js؟

إعجاب واحد (1)

المشكلة هي أنه حزمة بايثون (Python) وليست حزمة جافاسكريبت (Javascript) :eyes:. أتساءل عما إذا كان يمكن تحويلها :thinking:.

3 إعجابات

آه، بالفعل، يبدو أن Pygments مناسب لمواقع HTML الثابتة، وليس للتطبيقات مثل Discourse.

ربما يمكن أن يحسن مظهر مختلف من highlight.js الألوان أيضًا؟

يمكنك تجربتها على Demo - highlight.js وهناك مكون لتغييره
Codeblock Theme Picker

إعجابَين (2)

في الواقع، يمكن لسمة أخرى أن توفر ألوانًا أجمل، لكن المشكلة لا تزال قائمة: مُحلِّل highlight.js بسيط للغاية.