Существуют ли агрессивные инструменты минификации CSS?

Мне интересно, знает ли кто-нибудь инструмент, который агрессивно переписывает CSS для более эффективного сжатия стилей. Например, я хотел бы:

.foo { color : red; font-size: 16px; height: 20px; }
.bar { color : red; font-size: 16px; height: 30px; }

сжать до:

.foo, .bar { color : red; font-size : 16px; }
.foo { height : 20px; }
.bar { height : 30px; }

Чтобы быть ясным, все известные мне минификаторы, такие как YUI Compressor, только удаляют пробелы и, возможно, объединяют несколько свойств (например, font-family и font-size в font). Я ищу что-то, что готово полностью переписать структуру файла.

Короче говоря, если кто-нибудь знает о какой-либо работе, проделанной кем-либо в отношении логики сжатия, лежащей в основе этого, эта информация была бы признательна. Я подумываю написать свою собственную, если не смогу найти такую, но тут нужно учесть миллион вещей, например, margin-top перезаписывает часть margin, специфичность селектора и порядок включения, и так далее, и тому подобное... Затем нужно решить, как эффективно сжать информацию, например, что будет эффективнее - повторить селектор или свойство?

13
задан Mark Kahn 18 January 2012 в 21:06
поделиться