chroma.js README

The project's README from github.com/gka/chroma.js. As one markdown file: README.md.

Chroma.js

Chroma.js is a tiny small-ish zero-dependency JavaScript library for all kinds of color conversions and color scales.

Build Status Build size

Usage

Install from npm

npm install chroma-js

Import package into project

import chroma from "chroma-js";

Initiate and manipulate colors:

chroma('#D4F880').darken().hex();  // #a1c550

Working with color scales is easy, too:

scale = chroma.scale(['white', 'red']);
scale(0.5).hex(); // #FF7F7F

Lab/Lch interpolation looks better than RGB

chroma.scale(['white', 'red']).mode('lab');

Custom domains! Quantiles! Color Brewer!!

chroma.scale('RdYlBu').domain(myValues, 7, 'quantiles');

And why not use logarithmic color scales once in your life?

chroma.scale(['lightyellow', 'navy']).domain([1, 100000], 7, 'log');

Like it?

Why not dive into the interactive documentation (there's a static version, too). You can download chroma.min.js or use the hosted version on unpkg.com.

You can use it in node.js, too!

npm install chroma-js

Or you can use it in SASS using chromatic-sass!

Want to contribute?

Come over and say hi in our Discord channel!

Build instructions

First clone the repository and install the dev dependencies:

git clone [email protected]:gka/chroma.js.git
cd chroma.js
npm install

Then compile the coffee-script source files to the build files:

npm run build

Don't forget to tests your changes! You will probably also want to add new test to the /test folder in case you added a feature.

npm test

And to update the documentation just run

npm run docs

To preview the docs locally you can use

npm run docs-preview

Similar Libraries / Prior Art

Author

Chroma.js is written by Gregor Aisch.

License

Released under BSD license. Versions prior to 0.4 were released under GPL.

Further reading

FAQ

There have been no commits in X weeks. Is chroma.js dead?

No! It's just that the author of this library has other things to do than devoting every week of his life to making cosmetic changes to a piece of software that is working just fine as it is, just so that people like you don't feel like it's abandoned and left alone in this world to die. Bugs will be fixed. Some new things will come at some point. Patience.

I want to help maintaining chroma.js!

Yay, that's awesome! Please say hi at our Discord chat to get in touch

chroma.js (gka/chroma.js)

Searching Database…

10.6K ·GitHub
What is this?Chroma.js is a small-ish, zero-dependency JavaScript library for all kinds of color conversions and color scales — from parsing a single color to building multi-hued palettes.
Is it a browser thing or a Node thing?Both — it runs in the browser via the standalone chroma.min.js or the hosted unpkg.com build, and in node.js from npm. There is even a chromatic-sass companion for using it in SASS.
How do I add it to my project?Install it from npm with 'npm install chroma-js', import the package into your project, then start creating and manipulating colors.
There haven't been any commits in weeks — is chroma.js dead?No — the author addresses this directly: the library works just fine as it is, bugs will be fixed and new things will come eventually, so judge it by stability rather than commit frequency.
Can I use it for free, even in commercial work?Yes — chroma.js is released under the BSD license. Only versions prior to 0.4 were released under GPL, so any modern version is fine.
What can it do beyond converting a single color?Color scales are the second headline feature: Lab/Lch interpolation that looks better than plain RGB, custom domains, quantiles, Color Brewer palettes and logarithmic scales.
Does it work with SASS?Yes — there is a companion package called chromatic-sass for using chroma.js in SASS.
Are there similar libraries for other languages?The README lists GrapeFruit and colors.py for Python, Color Art for Rust, plus Chromatist and d3.js on the JavaScript side.
Creator
gka
Size
3.3 MB
Stars
10.6K
Age
14y
Commits · 90 Days