Mercurial > eldonilo > lightstring
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 |