Nico-izo 09.02.2012 00:23 qutIM/чег

Допилил CSSTidy до вполне юзабельного состояния.
Что сделал:
Переписал часть кода, часть кода тупо заменил sed-ом, ибо смотреть на GLOBALS не могу. Выпилил фичи PHP4 и сделал форматирование кода единым. Часть кода перенёс из побочного класса в основной.
Добавил функцию добавления вендорных префиксов к пропертям, где надо.
Так же добавил возможность выборочного добавления вендорных префиксов (Чтобы отдавать каждому браузеру код только с теми префиксами, которые ему нужны).
Благодаря этому я очистил код кутимовского сайта от всех вендорных префиксов и другой хуеты (Файл похудел на 5 кибибайт).
А в остальном код остался прежний (95%), разве что я добавил в конфиг с правилами валидации все CSS3 проперти.
Баги и недоработки:
Напрочь убивает при сжатии все linear-gradient, ибо я ещё не добавил их парсинг.
Нет парсинга и возможности объединения transitions и animations, но это отдельная песня.
Сломана возможность сжатия background-* пропертей в единый background. Тут надо переписывать функцию целиком, ибо написана она для стандарта (черновика) 2005 года (напомню, CSStidy мёртв с 2007) и там всё не так.
Добавлены не все возможные проперти CSS3 (В частности забыты все из CSS3 Speech)
Нет сжатия hsl() цветов (А надо бы).
И ещё тысячи и тысячи багов.
А теперь немного теста на реальном сайте

Код без вендорных префиксов, максимальное сжатие
Input (Bytes):16573
Output (bytes):13301

Добавление всех вендорных префиксов и максимальное сжатие
Input (Bytes):16573
Output (bytes):22414

Добавление одного выбранного префикса и максимальное сжатие
Input (Bytes):16573
Output (bytes):16325

Recommended by:

@rapture: Некрофил!

1. Nico-izo 09.02.2012 00:23 qutIM/чег

Небольшой фикс: не linear-gradient'ы, а вообще все градиенты, ибо в функции сжатия background-ов треш, угар и содомия.

Do you really want to delete ?