Css компрессор / нормализатор

стили и css, 25.04.2009 Суббота, 03:24
Теги: CSS, скрипт, оптимизация
     Написал для себя сегодня вечером нормализатор и сжиматель css кода. Думаю и вам, уважаемые пользователи, он пригодится. Сжиматель кода настроен на максимальное уменьшение размера css (функционал обновлен):
  1. Убирает больше одного пробела подряд
  2. Убирает лишние пробелы в селекторах
  3. Убирает лишние пробелы в значениях
  4. Убирает пробелы перед величинами (px|em|%)
  5. Убирает все переносы строк и табуляцию
  6. Убирает ; в конце блока
  7. Убирает случайное повторение ;
  8. Заменяет bold на 700
  9. Заменяет 0px на 0
  10. Заменяет 1px 1px 1px 1px на 1px
  11. Заменяет 1px 2px 1px 2px на 1px 2px
  12. Заменяет 1px 2px 3px 2px на 1px 2px 3px
  13. Заменяет margin-top:.. ,margin-left:... на margin:
  14. Заменяет #ff44hh на #f4h
     В данный момент достигнут достаточно высокий уровень сжатия. Для достижения максимального уровня css не должен содержать ошибок. Так же при сжимании кода, скрипт отобразит исходный и финальный размеры кода.
     Нормализатор работает с точностью до наоборот: он любой css код превращает в стройный, хорошо читаемый листинг. Вот сам скрипт, вы можете его протестировать прямо здесь:
     Если в результате преобразований выплыли какие либо баги - сообщите мне об этом пожалуйста. И скрипт не очень хорошо работает с expressions так как не заточен под js. Жду ваших комментариев!

Жми на пятую!
60, 7, 9529
№7
а знаете что действительно гуд? сначала кидаешь валидный код, он его перегоняет в одну строку, затем при восстановлении каждый класс одной строкой. Т.е. читабельное сжатие =) спасибо!!!
№6
Есть баги. У меня после сжатия пропали некоторые стили.
Ответ: 95% вероятности что были баги в вашем коде
№5
решил этим алгоритмом сжать не CSS а программу из исполнителя "Робот" просто так...результаты ниже...
До сжатия: 861 байт
После сжатия: 491 байт
Обидно что в такой сутуации "};}" алгоритм убирал точку с запятой...но все же он не предназначен для "Робота" )
№4
[sayto]LeFFan[/sayto], изначально так и было. Но все сошлись на том что это уж очень сильно поглащает свободное место.
№3
Скрипт обновлен, исправлены баги, нулевые стили вырезаются.
№2
[sayto]NecroProger[/sayto], баг исправлен.
№1
[sayto]Алексей[/sayto], провел испытания найденных вами сайтов и вот итог:

iceyboard.no-ip.org : 8629 байт (код сильно изменен и частично испорчен)
CssTidy технология : 9252 байт (код сильно изменен и частично испорчен)
Мой css компрессор: 11290 байт (код валиден)
cssdrive.com: 11414 байт (код валиден)
cssoptimiser.com : 12139 байт (код испорчен)
tools.arantius.com : 14100 байт (код валиден)

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

    © Блог StudioAD.ru 2024 год нашей эры. Не все права защищены... Копирование любой информации и материалов с обратной ссылкой приветствуется! Хостинг от uCoz.

    Если вам пришлись по душе материалы моего блога - подпишитесь на RSS дабы получать обновления незамедлительно! Я рад что вы читаете и комментируете мои экзерсисы, приятного времяпрепровождения.