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

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

Если добровольцы найдутся, то можно писать в комментариях, приват или используя контакты. Будем решать, как организовывать дальнейшую работу.
+23
19 июня 2009, 18:57
29
sunnybear 167,4

комментарии (8)

–14
A1MaZ #
Очень приятно будет исправлять css, когда оно сожмется в одну строчку.
+4
sunnybear #
а зачем его после это исправлять?
0
SamDark #
Кстати, разжать не сложнее, чем сжать… если обфускацией не заниматься.
+8
omfg #
Вам кто-то мешает хранить css в нормальном виде, а отправлять на продакшн в сжатом?
–1
bat #
Товарищ, скорее всего, не имеет понятия о сборке проекта.
–1
A1MaZ #
Точно. Просто так сказал.
0
TheBits #
Что тебя интересует в c++ версии? Я посмотрел исходник, он не сложный. Похоже исходник не только в win платформе может работать, но и на linux. Используется только стандартная библиотека си и STL.
+3
Mezomish #
Не только «может работать», но и работает ;) И содержится в официальных репозиториях:

$ aptitude show csstidy
Package: csstidy
State: not installed
Version: 1.4-3
Priority: extra
Section: universe/utils
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Uncompressed Size: 344k
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1-21), libstdc++6 (>= 4.2.1-4)
Description: CSS parser and optimiser
csstidy parses and optimises your CSS code, making it cleaner and more concise.
The end result is a smaller CSS file and better written code. It has a variety
of option settings giving the user a significant amount of control over the
level of file compression and readability. It is not meant to be a css
validator.
Homepage: csstidy.sourceforge.net/

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.