front-end / front-end-blender

Blender is like ant or make for the front-end. It aggregates and compresses CSS and/or JavaScript assets for a site into efficient, production-ready files.

This URL has Read+Write access

Chris Griego (author)
Sun Nov 23 22:45:03 -0800 2008
commit  b20270b2a6ab391d45c1f25a29d471667db3c28c
tree    c11c895367b0e747166f90a2dfee05d8f782954b
parent  4902f07a3d229a4930612e2ba23764b649d14c45
name age message
file .gitignore Mon Oct 13 00:46:57 -0700 2008 Release Candidate 1, now using Hoe to manage ge... [Chris Griego]
file History.txt Mon Oct 13 00:46:57 -0700 2008 Release Candidate 1, now using Hoe to manage ge... [Chris Griego]
file License.txt Mon Oct 13 00:46:57 -0700 2008 Release Candidate 1, now using Hoe to manage ge... [Chris Griego]
file Manifest.txt Mon Oct 13 00:46:57 -0700 2008 Release Candidate 1, now using Hoe to manage ge... [Chris Griego]
file README.txt Loading commit data...
file Rakefile Mon Oct 13 00:46:57 -0700 2008 Release Candidate 1, now using Hoe to manage ge... [Chris Griego]
directory bin/
file blender.gemspec
directory lib/
README.txt
= Front-End Blender

== What is Blender?

Blender is like ant or make for the front-end. It aggregates and compresses
CSS and/or JavaScript assets for a site into efficient, production-ready files.

== The Blendfile

The Blendfile, named Blendfile.yaml by default, is the configuration file
that tells Blender which source files are combined into which output files.
The file uses the YAML format. The output file is listed as hash key and
source files are the hash values as an array. Here is a sample Blendfile:

  # Blendfile.yaml for www.boldpx.com
  _behavior:
    _global-min.js:
      - ../_vendor/jquery/jquery.js
      - ../_vendor/shadowbox/src/js/adapter/shadowbox-jquery.js
      - ../_vendor/shadowbox/src/js/shadowbox.js
      - _global.js
      - _analytics.js
      - ../vendor/google-analytics/ga.js
  _style:
    _global:
      min.css:
        - ../../_vendor/shadowbox/src/css/shadowbox.css
        - typography.css
        - typography-print.css
        - colors.css
        - colors-print.css
        - layout-screen.css
        - layout-print.css

== Usage

  Usage: blend [options]
    -h, --help                       Show this message
    -V, --version                    Prints Blender's version number
    -g, --generate                   Generate a stub Blendfile
    -f, --file FILE                  Use given Blendfile
    -r, --root ROOT                  Specify the path to the web root directory
    -t, --type TYPE                  Select file type to blend (css, js)
    -m, --min [MINIFIER]             Select minifier to use (yui, none)
    -c, --cache-buster [BUSTER]      Append cache busters to URLs in CSS, defaults to timestamps
        --force                      Force blending when source files aren't newer than output files
        --yui=YUIOPTS                Pass arguments to YUI Compressor
    -d, --data                       EXPERIMENTAL Convert url(file.ext) to url(data:) in CSS files
    -z, --gzip                       EXPERIMENTAL Also create gzip output files

== Examples

In your site directory run 'blend' to minify CSS and JavaScript.
  blend

Other examples:
  blend --generate
  blend --yui='--preserve-semi'
  blend -t css
  blend -t css -d
  blend -f public/Blendfile.yaml

== Installation

To install the RubyGem, run the following at the command line (you may need to use a command such as su or sudo):
  gem install blender

If you're using Windows, you'll also want to run the following to get colored command line output:
  gem install win32console

* Java[http://java.com/en/] v1.4 or greater is required
* Ruby[http://www.ruby-lang.org/en/downloads/] v1.8.6 or greater is required
* RubyGems[http://rubygems.org/read/chapter/3] v1.2 or greater is recommended

== License

Copyright (c) 2008 Blake Elshire, Chris Griego

Blender is freely distributable under the terms of an MIT-style license.
For details, see http://www.opensource.org/licenses/mit-license.php