Статьи Архив статей

Автор: Мациевский Николай aka sunnybear
Опубликована: 24 марта 2009

Web Optimizer. Версия 0.3

Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). В качестве базы для Web Optimizer использовался PHP Speedy.

Подробное руководство по установке.

Загрузить версию 0.3.

В результате кропотливой работы после последнего «большого» выпуска было исправлено большое число заявленных ошибок и добавлено просто масса новых возможностей. Итак, по порядку:

  • Добавлено автоматическое изменение исходного index.php в корне сайта. Последняя сборка протестирована на Drupal 6, Joomla 1.5, Wordpress 2.7 (а также на некоторых самописных системах) все работает корректно.
  • Проверено и исправлено слияние CSS-файлов различных @media в один итоговый.
  • Добавлена поддержка включения внешних CSS- и Javascript-файлов в общую сборку (желательно использовать как альтернативу для подключения «ненавязчивого» Javascript). При этом весь Javascript-код в head страницы (как внешние файлы, так и сам код) объединяется в один внешний файл в порядке нахождения в документе. Внешние файлы загружаются раз в сутки, а не при каждом запросе к странице. По умолчанию отключена. Большое спасибо за содействие quard.
  • Добавлена возможность «удалить» Web Optimizer (доступна после успешной установки при наличии соответствующих прав). Теперь все действия можно осуществлять через веб-интерфейс.
  • Логика создания CSS Sprites существенно уточнена (спасибо xstroy) и добавлена возможность создания полноцветных спрайтов как в JPEG, так и в PNG (по умолчанию используется второй формат).
  • Произведены дополнительные уточнения в механизме вычисления директорий на сервере (в том числе для Denwer и PHP как CGI-модуля), устранены ошибки с «битым» CSS-файлом.
  • Исправлена пара ошибок в модуле CSS Tidy и мелкие проблемы, с ними связанные.
  • Немного доработана логика установщика, чтобы быть более ясной и прямолинейной.
  • Внесено ряд корректив в исходный код для устранение замечаний и предупреждений при выполнении (спасибо xandrx).

В планах на ближайший релиз:

  • Добавить автообновление (на основе данных из SVN).
  • Улучшить вычисление директорий, чтобы можно было безопасно устанавливать Web Optimizer в произвольную папку.
  • Протестировать приложение еще на 10-15 наиболее популярных CMS.
  • Создать логику миниустановщика (один-единственный файл, который загружает все приложение).
  • Подключить альтернативные методы сжатия CSS- и Javascript-файлов (YUI, Packer).
  • Добавить наконец возможность локализации :)

Загрузить последнюю версию 0.3.

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

P.S. Довольно часто возникают проблемы с автоматическим включением JavaScript в «ненавязчивом» режиме. Рекомендуется при «неработоспособности» сайта (белом экране в браузере) выключить его в конфигурации (и заменить на "Подключение внешних файлов").

P.P.S. Если проблемы с JavaScript не устранились, тогда можно совсем отключить его минимизацию (Minify JavaScriptNo).

Читать дальше

Все комментарии (habrahabr.ru)