MonoForge

front-end / front-end-blender

front-end-blender

Public

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.

12 filesupdated Jun 18, 2026

README

= 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] -g, --generate Generate a stub Blendfile -f, --file FILE Use specified 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] Add cache busters to URLs in CSS --force Don't allow output files to be skipped --yui=YUIOPTS Pass arguments to YUI Compressor

Experimental: -d, --data Convert url(file.ext) to url(data:) in CSS -z, --gzip Additionally generate gzipped output files

Meta: -h, --help Show this message -V, --version Show the version number

== 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

== 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