構文ハイライトに highlight.js ではなく Pygments を

構文ハイライトのために、Discourse は highlight.js に依存していますが、Pygments の方がリッチに見えます。例えば、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)

これは、Pygments でどのように見えるか と比較されます。

これは LaTeX コードブロックではより目立ちます(残念ながら、この言語は現在のフォーラムでは有効になっていませんが)、Discourse フォーラムでは次のように表示されます。

これは、Pygments でどのように見えるか と比較されます。

あるいは、カスタマイズされたテーマ/レクサーを使用するとさらに良くなります。

highlight.js ではなく Pygments を利用することは可能でしょうか?

「いいね!」 1

問題は、それがJavascriptパッケージではなくPythonパッケージであることです:eyes:。変換できるかどうかが気になります:thinking:。

「いいね!」 3

ああ、確かに、Pygments は Discourse のようなアプリケーションではなく、静的な HTML サイトに適しているようです。

highlight.js の別のテーマにすると、色も改善されるかもしれません。

Demo - highlight.js で試すことができ、テーマを変更するためのコンポーネントもあります。
Codeblock Theme Picker

「いいね!」 2

確かに、別のテーマの方がより良い色を提供するかもしれませんが、問題は残ります。highlight.jsのレクサーはミニマリストだからです。