Войти

Highlight.JS

12.02.2013 13:06
HIGHLIGHT

Сегодня, делая очередную заметку, открыл для себя кое-что интересное. Оказывается, есть более удобные способы вставить кусок кода в блог, чем вставлять его картинками. Кроме того, синтаксис этого кода будет подсвечиваться.

Highlight.js это автоматическая javascript-овая подсветка синтаксиса на веб-страницах. Она проста в установке. Готовая версия highlight.js хостится на Яндексе, и на нее можно ссылаться напрямую:

<link rel="stylesheet" href="http://yandex.st/highlightjs/7.3/styles/default.min.css">
<script src="http://yandex.st/highlightjs/7.3/highlight.min.js"></script>

Можно так же скачать упакованную версию, которая будет включать только нужные языки. Скачиваем, распаковываем архив и сохраняем папку с Highlight.js у себя на сервере. Для подключения библиотеки и стилей подсветки пишем следующий код:

<link rel="stylesheet" href="/highlight.js/styles/xcode.css">
<script src="/highlight.js/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>t.min.js"></script>

Теперь весь код на странице, обрамлённый в теги <pre><code> .. </code></pre> будет автоматически подсвечен. После всех проделанных манипуляций, я в предвкушении обновил страницу, но получил ожидаемого результата. HTML код, не вывелся. Как оказалось, чистый HTML код нельзя вставлять. Мне посоветовали прогнать его через HTML entities. Вот ссылка на такую программу. После всех этих манипуляций все заработало как надо.

comments powered by Disqus
  BENCHMARKS  
Loading Time: Base Classes  0.0031
Controller Execution Time ( Blog / Show )  0.0059
Total Execution Time  0.0092
  GET DATA  
No GET data exists
  MEMORY USAGE  
2,208,816 bytes
  POST DATA  
No POST data exists
  URI STRING  
blog/show/7
  CLASS/METHOD  
blog/show
  DATABASE:  blogAlenin (Blog:$db)   QUERIES: 3 (0.0006 seconds)  (Hide)
0.0002   SELECT *
FROM `article`
WHERE `id` = '7' 
0.0002   SELECT *
FROM `article`
WHERE `id` = '7' 
0.0002   SELECT *
FROM `categories`
ORDER BY `nameAS
  HTTP HEADERS  (Show)
  CONFIG VARIABLES  (Show)