UNPKG

gradient

Version:

A class for generating gradients.

128 lines (92 loc) 2.81 kB
Gradient.js =========== Generate you some gradients! Gradient.js is built on top of harthur/color https://github.com/harthur/color. Using Gradient.js Server-side --------------------------- Install the gradient module ``` npm install gradient ``` Add it to your source. ``` var Gradient = require('gradient'); ``` Using Gradient.js Client-side --------------------------- There are two ways to go about this. Option 1.) Download gradient-min.js from github and include it within your page. ```html <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 ``` Usage -------------------- A single class is exposed, Gradient, which takes a list of colors stops and steps. ```javascript // 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. ```javascript 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 https://github.com/harthur/color. ```javascript 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 ```javascript var grad = Gradient('#0071bc', '#662d91', '#e5005d', 10); console.log(grad.toArray('hexString')); >>> [ '#0071BC', '#0F31AE', '#351D9F', '#652C90', '#662D91', '#662D91', '#9F1FAB', '#C71199', '#E6005C', '#E5005D' ] ``` Using Gradients in gRaphel Charts ------------------- Generate awesome colors for your gRaphael pie charts. ```javascript 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 }); ``` Stupid Gradient Tricks ---------------------- Bring back 1998 with rainbow HTML. ```javascript function rainbowString (s) { var grad = Gradient('#0071bc', '#662d91', '#e5005d', s.length); return grad.toArray('hexString').map(function (x, i){ return '<span>' + s[i] + '</span>'; }).join(''); }; document.write(rainbowString("Hello World!")); ``` Running the Tests -------------------- ``` node test/test.js ```