Могу ли я использовать GitHub's Linguist в качестве замены Rouge в Jekyll

Я хочу улучшить подсветку синтаксиса в своем блоге, написанном на Jekyll. Я заметил, что некоторые языки (например, Scala) не всегда правильно подсвечиваются в Rouge (он выполняет неправильную маркировку). В то же время примеры кода и Gists в GitHub правильно отображают синтаксис Scala и, по-видимому, используют собственную библиотеку Linguist для достижения лучших результатов.

Поскольку исправление Rouge выглядит как длинный путь, есть ли способ использовать Linguist для токенизации и создания CSS для выделения на стороне сервера?

1 ответ

Решение

Есть ли способ использовать Linguist для токенизации и создания CSS для выделения на стороне сервера?

Нет. Лингвист только определяет язык файлов; он не выполняет выделение самостоятельно.

В GitHub правила подсветки синтаксиса определяются набором грамматик из пакетов Sublime Text, Atom и TextMate. В случае Scala GitHub использует https://github.com/scala/vscode-scala-syntax. Сама подсветка синтаксиса выполняется библиотекой с закрытым исходным кодом, принадлежащей GitHub.

Так как патч руж выглядит как длинный выстрел

Это все еще может быть вашим лучшим вариантом, особенно потому, что на данный момент лексер Rouge для Scala не кажется слишком сложным.

Другие вопросы по тегам