Highlight.js

Highlight.js — это подсветчик синтаксиса, написанный на JavaScript. Он работает и в браузере, и на сервере. Он работает с практически любой HTML разметкой, не зависит от каких-либо фреймворков и умеет автоматически определять язык.

Начало работы

Минимум, что нужно сделать для использования highlight.js на веб-странице — это подключить библиотеку, CSS-стили и вызывать initHighlightingOnLoad:

<link rel="stylesheet" href="/path/to/styles/default.css">
<script src="/path/to/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

Библиотека найдёт и раскрасит код внутри тегов <pre><code>, попытавшись автоматически определить язык. Когда автоопределение не срабатывает, можно явно указать язык в атрибуте class:

<pre><code class="html">...</code></pre>

Список поддерживаемых классов языков доступен в справочнике по классам. Класс также можно предваоить префиксами language- или lang-.

Чтобы отключить подсветку для какого-то блока, используйте класс nohighlight:

<pre><code class="nohighlight">...</code></pre>

Инициализация вручную

Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете использовать функции highlightBlock и configure. Таким образом можно управлять тем, что подсвечивать и когда.

Вот пример инициализация, эквивалентной вызову initHighlightingOnLoad, но с использованием jQuery:

$(document).ready(function() {
  $('pre code').each(function(i, block) {
    hljs.highlightBlock(block);
  });
});

Вы можете использовать любые теги разметки вместо <pre><code>. Если используете контейнер, не сохраняющий переводы строк, вам нужно сказать highlight.js использовать для них тег <br>:

hljs.configure({useBR: true});

$('div.code').each(function(i, block) {
  hljs.highlightBlock(block);
});

Другие опции можно найти в документации функции configure.

Установка библиотеки

Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать индивидуальную сборку, а также установив модуль на сервере. На страница загрузки подробно описаны все варианты.

Обратите внимание, что библиотека не предназначена для использования в виде исходного кода на GitHub, а требует отдельной сборки. Если вам не подходит ни один из готовых вариантов, читайте документацию по сборке.

Лицензия

Highlight.js распространяется под лицензией BSD. Подробнее читайте файл LICENSE.

Ссылки

Официальный сайт билиотеки расположен по адресу https://highlightjs.org/.

Более подробная документация по API и другим темам расположена на http://highlightjs.readthedocs.org/.

Авторы и контрибьютора перечислена в файле AUTHORS.ru.txt file.