Питер Хиггинс — разработчик известного тулкита Dojo — раскрыл "завесу тайны" в своем посте о том, что моя библиотека highlight.js будет включена в версию Dojo 1.1, которая запланирована на середину февраля (прям к моему ДР :-) ). Это отрадное для меня событие — хороший повод поговорить о том, что будет происходить с highlight.js дальше.
Не могу не поделиться. С такими формальностями я еще код в Open Source проекты не коммитил. Несмотря на то, что лицензия у highlight.js очень свободная, дело таки дошло до того, что от меня потребовалось распечатать Contribution License Agreement, расписаться на нем и послать снимок в Dojo Foundation. Обалдеть :-)
Итак. В первую очередь надо сказать, что сам highlight.js никуда не денется. Выбор (или не выбор) javascript-фреймворка общего назначения — дело интимное, поэтому одно из ценных качеств библиотеки сейчас в том, что она не навязывает никакого фреймворка. Однако, попадание кода в развитый проект означает, что наверняка он там будет жить своей жизнью, и я, видимо, буду портировать оттуда что-нибудь к себе. Вкусно!
Но и своих планов у меня тоже уже накопилось полно. Вот дайджест:
- стараниями Максима Деркачева и все того же Питера Хиггинса у меня сформировалось-таки представление, как надо завернуть библиотеку в отдельный namespace-объект
- добавятся еще раскраски: питоновый шелл, вывод питонового профайлера, видимо ActionScript (хотя с автором я еще не связывался)
- хочу развить и привести в порядок коллекцию плагинов к разным публикующим системам, натолкнулся какое-то время назад на модуль для Drupal
- для увеличения потенциального богатства расцветки, но в основном все же для улучшения автораспознавания, хочу прописать в какие смогу языки не только keyword'ы, но и названия идентификаторов из стандартных библиотек и тому подобное, например всякие getElementById для Javascript'а, которые формально в язык, в общем-то, не входят
- хочется попробовать таки сделать поддержку вложенных языков: чтобы CSS и Javascript подсвечивались и внутри HTML тоже
- плюс некоторое количество улучшений к имеющимся языкам (Петр, я все помню :-) )
А если у кого-то есть уйма свободного времени, и он(а) хочет всем помочь, то у меня есть гениальная простотой идея, до которой у меня точно руки не дойдут. Я хочу включить в комплект готовые раскрасочные темы. Сейчас там лежит один только example.css с черно-красным по серому. Было бы замечательно иметь еще несколько. Например темненькую тему, а также темы, имитирующие расцветки известных сред программирования. Всех делов там — один CSS-файл. Займется кто-нибудь? :-). Если да — присылайте на Maniac@SoftwareManiacs.Org.
Комментарии: 9
Я сегодня отрефакторил код dojox.highlight с целью избавиться от глобальных имён и увеличить производительность. Если сможешь, посмотри пожалуйста и наведи критику, если какие мелочи потерялись. Через примерно 7 часов тест для нового кода будет доступен здесь.
Поздравляю со знаковым событием!
Хотелось бы раскраску от TextMate — Sunburst. Я сделал для css'а, но надо же для всех языков?
Желательно для всех, да. Хотя там много общих вещей. Например классы типа .string, .number, .keyword встречаются почти во всех языках. С другой стороны CSS как раз своеобразен, да...
getElementById - не самый удачный пример, так как он относится к DOM, который используется практически во всех языках, в том числе и в Python. Хотя, конечно же, в JavaScript он используется чаще.
Именно "чаще" меня и интересует :-). Впрочем это все в процессе обдумывания пока.
А parser3 Лебедева планируется? :)
Если кто-нибудь напишет, можно и включить. Поскольку сейчас вся экзотика идет в отдельных файлах и по умолчанию не грузится, я не очень придирчив к добавлению новых языков :-)
Ребята, если вы не против, то я сделаю раскрасочную тему а-ля комодо. Он мой любимый редактор, и на сайтах у меня цвета копируют как раз комод.
Что-то я посмотрел демки на их сайте и все это мне напомнило времена, когда JavaScript было чем-то вроде "шашечек".
Особенно это: http://dojotoolkit.org/demos/dojo-moj-oe