Ответы:
StackOverflow использует библиотеку Prettify .
Недавно я разработал одну под названием «радуга».
Основная цель дизайна заключалась в том, чтобы сделать базовую библиотеку действительно небольшой и упростить разработчикам ее расширение.
См. Http://rainbowco.de .
rdf:type
используется как элемент, а когда это атрибут).
SyntaxHighlighter доступен как проект GitHub .
jQuery Syntax Highlighter - это новый инструмент, основанный на Google Prettify - действительно, очень популярном простом выделителе синтаксиса javascript.
Он поддерживает такие вещи, как code
и pre
блоки, может использовать language-javascript
имена классов, например, чтобы указать, что мы хотим, чтобы он выделялся, а также перенос слов. Вы можете скопировать и вставить код, выбрав его как обычно, вместо того, чтобы открывать необработанное представление, как многие другие. Его можно дополнительно настроить, используя атрибут данных HTML5 data-sh
или задав параметры при инициализации. Отличный стабильный выбор, который регулярно обновляется.
А как насчет Prism от Lea Verou.
Из ее сообщения в блоге в июне (2012 г.):
- Он крошечный. Ядро уменьшено и сжато с помощью gzip только 1,5 КБ.
- Это невероятно расширяемое. Не только легко добавлять новые языки (в наши дни это предусмотрено каждым инструментом выделения синтаксиса), но и расширять существующие.
- Он поддерживает параллелизм через Web Workers для повышения производительности в некоторых случаях.
- Это не заставляет вас использовать какую-либо разметку, специфичную для Prism, даже имя класса, специфичное для Prism, только стандартную разметку, которую вы все равно должны использовать. Итак, вы можете просто попробовать его на некоторое время, удалить его, если он вам не нравится, и не оставить следов.
Если вы используете jQuery, есть Chilli:
http://code.google.com/p/jquery-chili-js/
Все, что вам нужно сделать, это включить jquery-chili.js и recipes.js и выделить с помощью
$("code").chili();
Он должен сам определить язык.
Я очень доволен SHJS . Он поддерживает множество языков и кажется довольно быстрым и точным.
Вот пример, когда я использую его в своем блоге . Я использую свой собственный файл CSS, который имитирует подсветку синтаксиса Coda . Напишите мне, если хотите его использовать.
jQuery.Syntax - чрезвычайно быстрый и легкий инструмент для выделения синтаксиса. Он имеет динамическую загрузку исходных файлов синтаксиса и легко интегрируется с использованием CSS или моделей.
Он был разработан специально, чтобы заполнить пробел, а именно: быстрый, чистый, синтаксический анализатор на стороне клиента.
Если вы ищете подсветку синтаксиса в редакторе в браузере, попробуйте CodeMirror .
Я не спорю, но подумал, что стоит упомянуть, что если вы используете CMS или платформу блога, то использование backend-подсветки лучше по очевидным причинам - взгляните на Geshi ( http://qbnz.com/highlighter/ ) если тебе интересно. На самом деле вы можете настроить свой сервер для анализа HTML-содержимого с помощью серверной технологии, так что выделители JS вообще не нужны. (Единственная добавленная ими функция - это возможность печати / копирования [с использованием SWF].)
В этой статье в хранилище веб-ресурсов перечислено множество вариантов выделения кода, некоторые из которых используют Javascript. Он был опубликован 4 мая 2009 года.