... то этот пост для Вас. Мне довелось использовать три скриптовых движка — Script-fu, PERL-fu и Python-fu, и теперь я хочу поделиться своими соображениями о достоинствах и недостатках каждого из них.
Началось все, когда меня попросили сделать сайт ресторана, у которого заголовки и названия продуктов выполнены специальным фигурным шрифтом. Если Вы веб-дизайнер, то понимаете в чем проблема — поддержка произвольных шрифтов в браузерах до сих пор под большим вопросом. А уж несколько лет назад... В общем, было решено делать большое количество картинок с надписями и вставлять их на страницу. Несмотря на то, что сайт был небольшой, делать вручную одинаковым образом множество изображений было невыносимо. С ImageMagick у меня не сложилось, а вот писать плагины для GIMP оказалось несложно.
Никита Мельниченко.
Рад сообщить, что сегодня вышла долгожданная экспериментальная версия модуля Диаграмма, которая поддерживает стрелки! Кроме этого, был переработан движок построения диаграммы и введена новая разметка для сокращения объема выводимого XHTML кода (работа в этом направлении ожидается и в последующей разработке). Получилось много изменений, поэтому я не стал продолжать линию стабильных релизов и решил сделать отдельную ветку. Все-таки, свежий код нуждается в тестировании.
Документация обновлена, так что смело скачивайте новую версию и пробуйте. В качестве примера снабдил семейное дерево Кеннеди стрелками. И наконец, хотелось бы продемонстрировать скриншот, как выглядит диаграмма со стрелками из документации в браузере Firefox...
Никита Мельниченко.
Jam Session — это конкурс на лучший плазмоид, написанный с использованием движка javascript, который появился в KDE SC 4.4. Для тех из вас, кто не знает таких слов, поясняю: KDE SC — это замечательное окружение рабочего стола, а плазмоиды — небольшие программы, которые можно положить на рабочий стол, расширяя его функциональность. Кроме того, их можно положить и на панели. Например, часы, трей, панель задач — все это плазмоиды. Собирать свой рабочий стол из кирпичиков — это прекрасная идея. Итак, цель соревнования написать свою маленькую программу на языке javascript.
У меня уже была идея написать небольшое приложение — интерактивные индикаторы выполнения, которые помогли бы мне лучше планировать свое время и показывать процент готовности моих задач так, чтобы я имел представление о текущем положении дел. Я был впечатлен программным интерфейсом (API). Он предоставлял множество функций и, похоже, подходил для моей программы. В действительности я очень быстро достиг предела его возможностей, и мне пришлось искать всевозможные обходные пути. Это было интересно. Я люблю искать различные способы решения поставленной задачи, когда нет прямого пути. Некоторые трюки оказались не очень хороши, так что если Вы наткнетесь на некоторые странности в поведении плазмоида, это может быть связано с отсутствием возможности сделать это правильно. Я старался сделать его как можно лучше за ограниченное время и знаю, что можно сделать еще много улучшений.
Никита Мельниченко.
Прошел месяц с первого релиза плазмоида Make Progress, и можно подводить некоторые итоги. Самый важный из них — программа оказалась нужной людям. Об этом говорит первое место в пользовательском голосовании конкурса KDE Javascript Jam Session и высокий рейтинг работы на KDE-Look.org. Интерес, с которым пользователи KDE восприняли плазмоид, мотивирует продолжать развитие его функциональности. Меня уже засыпали предложениями по улучшению, и видно, что люди реально пользуются этой штукой. Например, Андрей Андрианов даже поделился скриптом для управления задачами на связке PHP и MySQL с использованием плазмоида. Обнаружились и неприятные баги. Например, баг Плазмы №234781, из-за которого она падает при интенсивном использовании плазмоида с источником данных Make Progress. Это означает, что придется на время отказаться от DBus интерфейса. Команда KDE пока не проявила интереса к этому багу, и неизвестно, когда эта ошибка будет исправлена. Если хотите помочь — проголосуйте за этот баг на указанной странице.
Никита Мельниченко.