среда, 1 октября 2008 г.

Подсветка кода

Задался таки вопросом подсветки кода.
Код для теста:

from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()

Быстро погуглив нашел рецепт: http://blogohelp.blogspot.com/2008/08/bloggercom.html
В котором описано, что нужно использовать утилиту Ивана Сагалаева highlight.js, вообще я о ней сразу вспомнил как только задался вопросом подсветки кода, но не знал как прикрутить эту утилиту в blogger. Там довольно странно дан совет использовать в качестве исходника утилиты файл highlight.js прямо с блога автора. Так делать НЕ нужно!
Я развернул библиотеку скрипта на одном из своих проектов и загружаю от туда, так как загрузить обычные файлы в blogger способа не нашел.
Как пользоваться утилитой читайте на сайте автора.
Как прикрутить ее в blogger описано у blogohelp. Просто в разделе управления блогом открываем вкладку «Макет» далее «Изменить HTML» и вставляем между <head> и </head> строки линкования и инициализации скрипта.
Единственное, нигде явно не указано (а для меня почемуто было не очевидно), что еще к странице нужно прилинковать файл css с теми стилями, которые вы хотите использовать, что прописывается тоже в заголовочной части макета.

<link href="js/highlight/styles/default.css" 
rel="stylesheet" type="text/css" />

PS: В начале не работало, когда в настройках было выставлено менять каждый перенос строк на тег br, что соответственно рвало код.