Подтвердить что ты не робот

Использование подсветки синтаксиса от GitHub

Какая подсветка синтаксиса используется в GitHub (для HTML, CSS, JavaScript, С#) при просмотре исходного кода и доступна ли это публике для использования?

Он работает на странице и работает при встраивании на страницу (из Gist), например:

<script src="https://gist.github.com/1009439.js"></script>

Но могу ли я просто включить их JavaScript-библиотеку и выделить ее код?

4b9b3361

Ответ 1

Github использует pygments, чтобы выделить синтаксис. Pygments работает на сервере вместо чистого клиентского решения Javascript. Если вы ищете решение Javascript просмотрите этот обзор различных опций.

Ответ 2

В соответствии с эта страница справки, GitHub в настоящее время выделяет синтаксис с открытым исходным кодом Linguist для Ruby. Лингвист выделяет каждый язык, используя tmLanguage файлы, связанные в vendor/grammars.

Так как Linguist написан на Ruby, его можно использовать только на сервере. Если вы хотите использовать библиотеку JavaScript на стороне клиента, которую вы можете просто добавить на страницу, вам нужно найти другую библиотеку.

Ответ 3

В соответствии с этим: http://www.infoq.com/news/2008/03/github-git-repository-hosting

они используют Python Pygments

Крис Вантрат поделился некоторыми информация о внутренних работах GitHub с InfoQ:

GitHub в основном реализован в Rails. Интегрированные мини-приложения после интеграции мы работаем, все написаны в Merb, мы используем Python Pygments для подсветка синтаксиса, и мы используем Ara T. Howard Bj плюс некоторые скрипты Ruby для нашей системы очередей. И, конечно же, мы используем библиотеку Ruby Grit для интерфейс с Git.

Ответ 4

Я считаю, что они используют свой albino gem. Это оболочка Ruby для синтаксиса синтаксиса пигментов.

Вот статья сравнения, которую я недавно прочитал о синтаксических выделениях на основе javascript (если это то, что вам нужно): http://softwaremaniacs.org/blog/2011/05/22/highlighters-comparison/

Ответ 5

Как уже говорилось ранее, GitHub использует Pygments. Вы можете добиться такого же эффекта, используя его вместе с pygments-style-github.