CSS Tidy является полностью открытой и на данный момент одной из самых мощных библиотек по преобразования CSS-кода. В большинстве случаев ее используют для минимизации CSS-кода (что позволяет добиваться весьма впечатляющих результатов, пример с сайта CSS Tidy). Огромное количество сайтов предлагают минимизаторы, основанные именно на CSS Tidy: CleanCSS, CSS Formatter and Optimizer, CSS Compressot и многие другие. Даже YUI Compressor год назад уступал CSS Tidy по степени сжатия.
Количество настроек CSS Tidy впечатляет: это и сжатие наименований свойств (цветов, шрифтов, фона), и регистро-независимый вывод, и объединение селекторов для максимальной минимизации кода, и их сортировка, и исключение нестандартных CSS-свойств, и сохранение синтаксиса введенного кода, и т.д. (полный список поддерживаемых настроек с примерами).
Поскольку библиотека направлена на разбор и стандартизацию (как следует из названия - Tidy), а не только на минимизацию кода, то с ее помощью можно проворачивать довольно любопытные вещи. Например, выводить CSS-код в стандартном виде в любом формате (CSS Tidy поддерживает шаблоны вывода). Или осуществлять любые преобразование с таблицей стилей на странице (к слову, именно она используется для создания CSS Sprites и, естественно, в приложении для автоматической клиентской оптимизации — Web Optimizer). В Web Optimizer уже включена самая последняя версия CSS Tidy, в которой исправлены некоторые ошибки.
Так как приложение написано с учетом высоких требований к производительности, то работает оно очень шустро (в несколько раз быстрее того же YUI Compressor).
Но речь не совсем об этом.
На данный момент (как написано в Wikipedia) автор (Florian Schmitz) ищет людей, который смогли бы вести проект дальше. PHP-часть библиотеки не так сложна, и я справляюсь с ней самостоятельно. Но проблемы возникли при необходимости параллельно поддерживать Win32-версию (CPP). Беглый взгляд на текущий состав файлов мне ничего не подсказал, поэтому я прошу у сообщества помощи и в свою очередь ищу людей, которые смогли бы поддерживать актуальность CPP-ветки.
Для примера текущий список файлов в ней:
SConscript background.cpp background.hpp conversions.cpp conversions.hpp cssopt.cpp cssopt.hpp csspp_globals.cpp csspp_globals.hpp csspp_private.h csstidy.cpp csstidy.hpp datastruct.hpp file_functions.cpp file_functions.hpp important.cpp important.hpp main.cpp misc.cpp misc.hpp parse_css.cpp parse_css.hpp prepare.cpp prepare.hpp print_css.cpp trim.cpp trim.hpp umap.cpp umap.hpp win32_resource.rc
CSS Tidy уже два года "застрял" на версии 1.3. Очень хотелось бы сдвинуть эту библиотеку с мертвой точки и продолжить ее полноценную разработку, ибо с появлением CSS3-селекторов задача эта становится уже гораздо интереснее.
Если добровольцы найдутся, то можно писать в комментариях, приват или используя контакты. Будем решать, как организовывать дальнейшую работу.