Merge, analyze, and optimize client-side assets for web applications and static web sites.
Given the following directory structure:
project
lib
jquery-1.7.2.min.js
src
app.js
components
menu.js
common
helpers.js
And the following app.js
:
/* app.js */
//= require jquery
//= require menu
var app = {};
And the following menu.js
:
/* menu.js */
//= require jquery
//= require helpers
var menu = {};
And the following helpers.js
:
/* helpers.js */
var helpers = {};
Running blend
with no arguments from the project
directory will produce this directory structure:
project
lib
jquery-1.7.2.min.js
output
app.js
app.min.js
menu.js
menu.min.js
src
app.js
components
menu.js
common
helpers.js
Where app.js
has the following content:
/* app.js */
/* ... the minified JQuery code, included only once */
var helpers = {};
var menu = {}
var app = {};
blend [options] [file1 [file2 [fileN]]]
-o OUTPUT, --output=OUTPUT
Where the file output will be written. The default is a directory at the root of the project directory named output
-p PATH, --path=PATH
A directory to be searched for required files. Multiple directories can specified by repeating the flag. If you do not specify any directory with the PATH flag then only the working directory will be searched for required files.
-s, --skipcwd
Exclude the current working directory from the requirement search paths.
Specify A Configuration File ~~~~~~~~~~~~~~~~~~~~~~~~~~ -c, --config
Specify a JSON confguration file that describes the analyzers and minifiers to be used.
pip install blend
git clone git://github.com/azavea/blend.git
cd blend
python setup.py install
http://azavea-blend.readthedocs.org
MIT