Pygments statt highlight.js für Syntaxhervorhebung

Für die Syntaxhervorhebung verlässt sich Discourse auf highlight.js, aber Pygments sieht besser aus. Hier ist zum Beispiel, wie ein Python-Code aussieht:

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)

zum Vergleich mit wie es mit Pygments aussehen könnte:

Dies ist bei einem LaTeX-Codeblock deutlicher (diese Sprache ist auf dem aktuellen Forum leider nicht aktiviert), aber so sieht es in unserem Discourse-Forum aus:

zum Vergleich mit wie es mit Pygments aussehen könnte:

oder sogar besser mit einem angepassten Theme/Lexer:

Wäre es möglich, sich auf Pygments anstelle von highlight.js zu verlassen?

1 „Gefällt mir“

Das Problem ist, es ist ein Python-Paket und kein Javascript-Paket :eyes: . Ich frage mich, ob es konvertiert werden kann :thinking: .

3 „Gefällt mir“

Ah, tatsächlich scheint Pygments für statische HTML-Seiten geeignet zu sein, nicht aber für Anwendungen wie Discourse.

Vielleicht würde ein anderes Thema von highlight.js die Farben auch verbessern?

Sie können sie unter Demo - highlight.js ausprobieren, und es gibt eine Komponente, um es zu ändern
Codeblock Theme Picker

2 „Gefällt mir“

Tatsächlich könnte ein anderes Thema schönere Farben bieten, aber das Problem bleibt: Der highlight.js-Lexer ist minimalistisch.