comparison console/lib/highlight/README.ru.md @ 108:5cb4733c5189

many api changes
author Sonny Piers <sonny@fastmail.net>
date Fri, 13 Jul 2012 15:26:18 +0200
parents
children
comparison
equal deleted inserted replaced
107:704ce44c1a22 108:5cb4733c5189
1 # Highlight.js
2
3 Highlight.js нужен для подсветки синтаксиса в примерах кода в блогах,
4 форумах и вообще на любых веб-страницах. Пользоваться им очень просто,
5 потому что работает он автоматически: сам находит блоки кода, сам
6 определяет язык, сам подсвечивает.
7
8 Автоопределением языка можно управлять, когда оно не справляется само (см.
9 дальше "Эвристика").
10
11
12 ## Простое использование
13
14 Подключите библиотеку и стиль на страницу и повесть вызов подсветки на
15 загрузку страницы:
16
17 ```html
18 <link rel="stylesheet" href="styles/default.css">
19 <script src="highlight.pack.js"></script>
20 <script>hljs.initHighlightingOnLoad();</script>
21 ```
22
23 Весь код на странице, обрамлённый в теги `<pre><code> .. </code></pre>`
24 будет автоматически подсвечен. Если вы используете другие теги или хотите
25 подсвечивать блоки кода динамически, читайте "Инициализацию вручную" ниже.
26
27 - Вы можете скачать собственную версию "highlight.pack.js" или сослаться
28 на захостенный файл, как описано на странице загрузки:
29 <http://softwaremaniacs.org/soft/highlight/download/>
30
31 - Стилевые темы можно найти в загруженном архиве или также использовать
32 захостенные. Чтобы сделать собственный стиль для своего сайта, вам
33 будет полезен справочник классов в файле [classref.txt][cr], который тоже
34 есть в архиве.
35
36 [cr]: http://github.com/isagalaev/highlight.js/blob/master/classref.txt
37
38
39 ## Замена TABов
40
41 Также вы можете заменить символы TAB ('\x09'), используемые для отступов, на
42 фиксированное количество пробелов или на отдельный `<span>`, чтобы задать ему
43 какой-нибудь специальный стиль:
44
45 ```html
46 <script type="text/javascript">
47 hljs.tabReplace = ' '; // 4 spaces
48 // ... or
49 hljs.tabReplace = '<span class="indent">\t</span>';
50
51 hljs.initHighlightingOnLoad();
52 </script>
53 ```
54
55
56 ## Инициализация вручную
57
58 Если вы используете другие теги для блоков кода, вы можете инициализировать их
59 явно с помощью функции `highlightBlock(code, tabReplace, useBR)`. Она принимает
60 DOM-элемент с текстом расцвечиваемого кода и опционально - строчку для замены
61 символов TAB.
62
63 Например с использованием jQuery код инициализации может выглядеть так:
64
65 ```javascript
66 $(document).ready(function() {
67 $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
68 });
69 ```
70
71 `highlightBlock` можно также использовать, чтобы подсветить блоки кода,
72 добавленные на страницу динамически. Только убедитесь, что вы не делаете этого
73 повторно для уже раскрашенных блоков.
74
75 Если ваш блок кода использует `<br>` вместо переводов строки (т.е. если это не
76 `<pre>`), передайте `true` третьим параметром в `highlightBlock`:
77
78 ```javascript
79 $('div.code').each(function(i, e) {hljs.highlightBlock(e, null, true)});
80 ```
81
82
83 ## Эвристика
84
85 Определение языка, на котором написан фрагмент, делается с помощью
86 довольно простой эвристики: программа пытается расцветить фрагмент всеми
87 языками подряд, и для каждого языка считает количество подошедших
88 синтаксически конструкций и ключевых слов. Для какого языка нашлось больше,
89 тот и выбирается.
90
91 Это означает, что в коротких фрагментах высока вероятность ошибки, что
92 периодически и случается. Чтобы указать язык фрагмента явно, надо написать
93 его название в виде класса к элементу `<code>`:
94
95 ```html
96 <pre><code class="html">...</code></pre>
97 ```
98
99 Можно использовать рекомендованные в HTML5 названия классов:
100 "language-html", "language-php". Также можно назначать классы на элемент
101 `<pre>`.
102
103 Чтобы запретить расцветку фрагмента вообще, используется класс "no-highlight":
104
105 ```html
106 <pre><code class="no-highlight">...</code></pre>
107 ```
108
109
110 ## Экспорт
111
112 В файле export.html находится небольшая программка, которая показывает и дает
113 скопировать непосредственно HTML-код подсветки для любого заданного фрагмента кода.
114 Это может понадобится например на сайте, на котором нельзя подключить сам скрипт
115 highlight.js.
116
117
118 ## Координаты
119
120 - Версия: 7.0
121 - URL: http://softwaremaniacs.org/soft/highlight/
122 - Автор: Иван Сагалаев (<maniac@softwaremaniacs.org>)
123
124 Лицензионное соглашение читайте в файле LICENSE.
125 Список соавторов читайте в файле AUTHORS.ru.txt