YUICSSMIN

Ruby wrapper for the Javascript port of YUI's CSS compressor.

The YUICSSMIN gem provides CSS compression using YUI compressor from Yahoo. Unlike other gems it doesn't use the Java applet YUI compressor but instead uses the Javascript port via ExecJS.

Installation

Install YUICSSMIN from RubyGems:

gem install yuicssmin

Or include it in your project's Gemfile:

gem 'yuicssmin'

Usage

require 'yuicssmin'

Yuicssmin.compress(File.read("path/to/styles.css"))         # => minified CSS

# Alternatively use instance method...

compressor = Yuicssmin.new
compressor.compress(File.read("path/to/styles.css"))        # => minified CSS

Files or strings are acceptable as input.

You can pass in a second argument to control the maximum output line length (default 5000 characters):

Yuicssmin.compress(File.read("path/to/styles.css"), 200)

Note: in most cases line length will only be approximated.

Rails asset pipeline

Rails 3.1 integrated Sprockets to provide asset packaging and minimising out of the box. For CSS compression it relies on the yui-compressor gem which requires Java. To use YUICSSMIN instead, edit your config/application.rb file:

config.assets.css_compressor = Yuicssmin.new

Changelog

See CHANGES.

Credits

YUICSSMIN gem was inspired by Ville Lautanala's Uglifier gem, released under MIT license.

YUICSSMIN gem and documentation

Copyright (c) 2012 Matthias Siegel ([email protected]) See LICENSE for details.

YUI compressor

See file.