A class for generating gradients.


Generate you some gradients! Gradient.js is built on top of harthur/color

Install the gradient module

npm install gradient

Add it to your source.

var Gradient = require('gradient');

There are two ways to go about this.

Option 1.) Download gradient-min.js from github and include it within your page.

<script src="gradient-min.js"></script>

Option 2.) Build your own uncompressed or minified copy.

If you don't have Jake installed...

$ npm install -g jake

Then build and minify...

$ jake build
$ jake minify

A single class is exposed, Gradient, which takes a list of colors stops and steps.

// Colors can be given as an unlimited number of parameters.  Steps is always the last parameter 
var grad = Gradient('#0071bc', '#662d91', '#e5005d', 10);
// Or they can be given as an array 
var colorStops = ['#0071bc', '#662d91', '#e5005d'];
var grad = Gradient(colorStops, 10);

Colors can be inputted in any of mulitple formats: hex, rgb string, rgba string, or rgb hash.

var grad = Gradient('#0071bc', 'rgb(255, 67, 100)', { r: 100, g: 50, b: 10 }, 10);

The return value is a class instance which contains a .toArray method. If run without arguments this method will return an array of Color objects derived from

var grad = Gradient('#0071bc', '#662d91', '#e5005d', 10);
var colors = grad.toArray();

Optionally, a string value can be given indication the output format.

Possible values: hexString, rgbString, percentString, named

var grad = Gradient('#0071bc', '#662d91', '#e5005d', 10);
[ '#0071BC',
  '#E5005D' ]

Generate awesome colors for your gRaphael pie charts.

var paper = Raphael(10, 50, 640, 480);
var data = [55, 20, 13, 32, 5, 1, 2];
var colors = Gradient('#97aeba', '#0a3d54', data.length).toArray('rgbString');
paper.piechar(320, 240, 100, data, { colors: colors });

Bring back 1998 with rainbow HTML.

function rainbowString (s) {
    var grad = Gradient('#0071bc', '#662d91', '#e5005d', s.length);
    return grad.toArray('hexString').map(function (xi){
        return '<span>' + s[i] + '</span>';
document.write(rainbowString("Hello World!"));
node test/test.js