На этот раз я решил выпустить публичную бету highlight.js. Потому что это новый "мажорный" релиз, там переписана и урефакторена уйма кода, а потестировать я все это удосужился только в Firefox и IE7 :-).

Поэтому призываю интересующихся скачать бету и посмотреть на нее со всех сторон: кто пользуется — не сломалось ли, кто программирует — нет ли каких идей про код. Если ничего фатального не найдется, мне осталось только документацию про написание языков доделать и можно будет релизиться.

Дальше — список вкусностей и цветные скриншоты!

Фичи снаружи

Скриншот про обе фичи:

Кстати, обратите внимание, как в первом стиле цвета вложенных языков "пригашены". Это я нашел наконец нормальное применение свойству "opacity" :-). Мне кажется, хорошо вышло.

Фичи внутри

Как я уже упоминал, код претерпел большой рефакторинг с последующей оптимизацией, результатом которых стали:

В связи с переделками изменился формат языковых файлов. Хоть и косметически, но все равно обратной совместимости нет. Это, кстати, главная причина смены первой цифры версии. Все языки из комплекта я, конечно, сконвертировал, но если кто поддерживал какие-то языки для себя, напишите в комментариях или почтой, я тогда расскажу, как их под новую версию переделать.

Плагины, моды и расширения

До последнего времени все по-разному заворачиваемые варианты библиотеки я внимательно смотрел (или собирался это сделать) и выкладывал у себя на сайте. Однако я понял, что времени заниматься этим хорошо у меня нет. Поэтому с этой версии хочется ввести другую политику.

Уважаемые и любимые мною контрибьюторы! Если вы хотите сделать из highlight.js расширение, модуль, плагин и т. п., то пожалуйста, сделайте его, это очень круто! Потом разместите где-нибудь в доступном вам месте страницу с описанием вашего произведения, напишите текущую версию и коротенькую инструкцию по использованию. А я тогда с удовольствием поставлю на эту страницу ссылку.

Вот. Кажется, так всем будет удобней, и не надо будет ждать меня по полгода :-)

Комментарии: 18

  1. Михаил Яковис

    А нумерация строк даже и не планируется?

  2. Иван Сагалаев

    Ни в коем случае :-)

    http://softwaremaniacs.org/blog/2007/09/10/highlight-js-evolution/

    Но поскольку это open source, может кто-нибудь другой допишет. Точнее говоря, я уже видел даже где-то такое. Но сейчас найти не могу.

  3. Develop7

    Вы настоящий маниак.

  4. Владимир Епифанов
    1. Может стандартные питоновые исключения тоже раскрашивать (как в Vim)?
    2. Почему True и False не подсвечиваются?
    3. Я хочу Zenburn-тему сделать, включишь в дистрибутив?
  5. Муркт

    Если вы хотите сделать из highlight.js расширение, модуль, плагин и т. п., то пожалуйста, сделайте его, это очень круто!

    Не то чтоб расширение, модуль или плагин, но highlight.js входит в Byteflow, как стандартная расцвечивалка :)

  6. Иван Сагалаев

    Может стандартные питоновые исключения тоже раскрашивать (как в Vim)?
    Почему True и False не подсвечиваются?

    Никакой технической проблемы нет. Просто ни у кого руки еще не дошли. В 4-й версии я как раз хочу двигаться в направлении включения в языки ключевых слов, которые формально ключевыми словами не являются, а являются либо стандартными константами, либо нераздельно связаны с языком, будучи включенными в RTL. Так что, если хочешь — займись :-). Пример того, как это сделано, можно посмотреть в определении javascript'а в javascript.js. Там есть две группы ключевых слов: keyword и literal.

    Я хочу Zenburn-тему сделать, включишь в дистрибутив?

    Конечно.

  7. Kildor

    При первом приближении, в Opera 9.5 работает всё, без ошибок и правильно.

    PS: А за far.css отдельное спасибо ;)

  8. Владимир Епифанов

    Я хочу Zenburn-тему сделать, включишь в дистрибутив?

    Конечно.

    Собственно zenburn.css я сейчас и делаю. :-)

    Проблема в том, что Zenburn изначально под Vim заточен, а Vim зело богат на синтаксические примитивы — тут пример.

  9. Иван Сагалаев

    Ну highlight.js беднее в расцветке практически любых редакторов. Поэтому к точной копии стремиться и не не надо, достаточно просто похожий стиль сделать.

    Хорошо, хоть, теперь я решил проблему того, что мне нравятся очень минималистичные расцветки тем, что включил несколько стилей. В комплекте могут идти сколь угодно раскрашенные варианты, но default.css будет строгим. А dark.css — еще строже :-)

  10. bw

    Привет.
    Отличная новость. Правда до сих пор мне не приходилось пользоваться какой-либо расцветкой, но такая потребность обязательно возникнет. Безусловно я буду поддерживать отечественного производителя ;-).

    p.s. Заметил предпросмотр под полем ввода текста сообщения, интересная штука, не помню что бы ты о ней говорил, может просто пропустил твой пост.

    ..bw

  11. Иван Сагалаев

    Да, был такой пост про showdown c подсветкой.

  12. Maxx

    Очень хотелось бы нормального описания с примерами, как описывать свои языки.

    Однозначно написал бы расцветку parser3
    когда было попробовал - ничего не понял как делать, увы

  13. Иван Сагалаев

    Уточнить хочу, вот это описание вы не видели, или его не хватает?

  14. phpMyId.com

    Спасибо, всё отлично работает! =)
    В phpBB3 интегрируется без модов, через ББкоды =)

  15. xonix

    В экспортилке подключается стиль sample.css, которого уже нету. Надо подключить styles/default.css

  16. Vooon

    для пхпББ3 я писал мод для [code] с версией 3.5

    в ближаишее время переведу под 4

  17. Maxx

    Если оно не менялось хотя бы полгода, примерно, значит видел и именно его и читал, но не осилил :)
    + сказалась общая загруженность

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

    В принципе, если есть относительно много времени, можно разобраться, но у меня его, увы тогда не нашлось.

    А так, спасибо вам и за библиотеку и за документацию, в ближайшее "окно" займусь ее изучением :)

    P.S. Вам бы сюда типографа прикрутить

  18. [...] Ближайшее время тихо и незаметно настало спустя 7 месяцев. [...]

Добавить комментарий