Pygments em vez de highlight.js para destaque de sintaxe

Para realce de sintaxe, o Discourse depende do highlight.js, mas o Pygments parece mais rico. Por exemplo, veja como fica um código Python:

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)

para ser comparado com como ficaria com o Pygments:

Isto é mais proeminente para um bloco de código LaTeX (infelizmente, esta linguagem não está ativada no fórum atual), mas veja como fica no nosso fórum Discourse:

para ser comparado com como ficaria com o Pygments:

ou ainda melhor com um tema/lexer personalizado:

Seria possível depender do Pygments em vez do highlight.js?

1 curtida

O problema é que é um pacote Python e não um Javascript :eyes:. Eu me pergunto se pode ser convertido :thinking:.

3 curtidas

Ah, de fato, o Pygments parece ser adequado para sites HTML estáticos, não para aplicações como o Discourse.

Talvez um tema diferente do highlight.js melhoraria as cores também?

Você pode experimentá-los em Demo - highlight.js e há um componente para alterá-lo
Codeblock Theme Picker

2 curtidas

De fato, outro tema poderia fornecer cores mais agradáveis, mas o problema permanece: o lexer do highlight.js é minimalista.