Pull to refresh

CSSO (CSS Optimizer) — структурная минимизация CSS

Reading time2 min
Views19K
CSSO (CSS Optimizer) является минимизатором CSS, выполняющим как минимизацию без изменения структуры, так и структурную минимизацию с целью получить как можно меньший текст.
CSSO написан на Javascript, выполняется как в браузере, так и в командной строке (с помощью NodeJS).
Распространяется под лицензией MIT.

Что умеет


Минимизация без изменения структуры:
  • Удаление whitespace
  • Удаление концевых ‘;’
  • Удаление комментариев
  • Удаление неправильных charset и import
  • Удаление ошибочных элементов
  • Минимизация цвета
  • Минимизация 0
  • Минимизация margin и padding
  • Слияние многострочных строк в однострочные
  • Минимизация font-weight
Минимизация с изменением структуры:
  • Слияние блоков с одинаковыми селекторами
  • Удаление перекрываемых свойств
  • Частичное выделение свойств в отдельный блок
  • Частичное слияние блоков

Где найти


Ссылки:Внимание: проект находится в статусе beta и может содержать недоработки и ошибки. Скорее всего, в дальнейшем изменятся адреса репозитория и хостинга для вебового интерфейса. Анонс призван познакомить общественность с новым CSS-минимизатором на ранней стадии, собрать отзывы, исправить пропущенные ошибки и сделать CSSO удобнее пользователю.

Зачем ещё один минимизатор


Большинство из современных популярных минимизаторов (YUICompressor и ему подобные) — это минимизация без разбора и анализа структуры. Грубо говоря, набором regexp'ов заменяют X на меньший Y.

Пример:
.test { color: red }
.test { color: green }

Обработка regexp'ами:
.test{color:red}.test{color:green}

Обработка с минимизацией структуры:
.test{color:green}

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

PS. Документация и даже JsDoc на русском языке. Будет и английский.
Tags:
Hubs:
+66
Comments58

Articles

Change theme settings