Ответ 1
Github использует pygments, чтобы выделить синтаксис. Pygments работает на сервере вместо чистого клиентского решения Javascript. Если вы ищете решение Javascript просмотрите этот обзор различных опций.
Какая подсветка синтаксиса используется в GitHub (для HTML, CSS, JavaScript, С#) при просмотре исходного кода и доступна ли это публике для использования?
Он работает на странице и работает при встраивании на страницу (из Gist), например:
<script src="https://gist.github.com/1009439.js"></script>
Но могу ли я просто включить их JavaScript-библиотеку и выделить ее код?
Github использует pygments, чтобы выделить синтаксис. Pygments работает на сервере вместо чистого клиентского решения Javascript. Если вы ищете решение Javascript просмотрите этот обзор различных опций.
В соответствии с эта страница справки, GitHub в настоящее время выделяет синтаксис с открытым исходным кодом Linguist для Ruby. Лингвист выделяет каждый язык, используя tmLanguage
файлы, связанные в vendor/grammars
.
Так как Linguist написан на Ruby, его можно использовать только на сервере. Если вы хотите использовать библиотеку JavaScript на стороне клиента, которую вы можете просто добавить на страницу, вам нужно найти другую библиотеку.
В соответствии с этим: 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.
Я считаю, что они используют свой albino gem. Это оболочка Ruby для синтаксиса синтаксиса пигментов.
Вот статья сравнения, которую я недавно прочитал о синтаксических выделениях на основе javascript (если это то, что вам нужно): http://softwaremaniacs.org/blog/2011/05/22/highlighters-comparison/
Как уже говорилось ранее, GitHub использует Pygments. Вы можете добиться такого же эффекта, используя его вместе с pygments-style-github.