Pull to refresh

CSS Tidy: нужна помощь

Self Promo
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-селекторов задача эта становится уже гораздо интереснее.

Если добровольцы найдутся, то можно писать в комментариях, приват или используя контакты. Будем решать, как организовывать дальнейшую работу.
Tags:
Hubs:
Total votes 27: ↑25 and ↓2 +23
Views 1K
Comments Comments 8