npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

colorvert-api

v1.1.2

Published

Color conversion JSON API

Downloads

47

Readme

Colorvert HTTP JSON API

An easy-to-use color conversion API written in node and using Express.

It uses the colorvert to perform color conversions. If you need the color conversion modules only, that's where you should look.

If you only need conversions between ICC profiles (CMYK, Lab, XYZ, RGB) and don't need the math-based conversions, you should take a look at the transicc node module, which colorvert uses to perform those.


Installation

Colorvert uses a tiny command line utility called transicc. It's installed by the install-deps.sh script in the root of this repo. Roughly, the commands below will get everything installed.

git clone https://github.com/jpederson/node-colorvert-api.git
cd node-colorvert-api
npm install --production
./install-deps.sh

Note: If you're on Debian/Ubuntu, you can install the lcms2 package instead of the last step.

Once you've installed that dependency, you're ready to run node server.js from the same directory, or use a tool like forever to keep the server running in the background. It binds to port 3000 by default - you can change it at the bottom of server.js file.


API Usage

There are currently 7 endpoints for the colorvert API.

/cmyk/[c]/[m]/[y]/[k]

Expects 0-100 values for each component. Example: /cmyk/100/0/0/0

/lab/[l]/[a]/[b]

Expects [l] to be between 0-100. There are no bounds on [a] or [b] so they can be any positive or negative number (integer or decimal). Example: /lab/52/-68/23

/xyz/[x]/[y]/[z]

Expects 0-100 for [x], [y], and [z]. Assumes a luminance level of D65.

/rgb/[r]/[g]/[b]

Expects 0-255 for [r], [g], and [b]. Example: /rgb/0/172/136

/hsl/[h]/[s]/[l]

Expects 0-360° value for [h] (hue), and 0-100 values for both [s] and [l].

/hsv/[h]/[s]/[v]

Expects 0-360° value for [h] (hue), and 0-100 values for both [s] and [v] (sometimes also called HSB - 'B' being brightness).

/hex/[hex]

Expects [hex] to be a valid hex color without the '#'. Example: /hex/00ccff or /hex/AACCFF.

I plan to post more documentation with regard to end points as I continue developing the module. In the meantime, post an issue if you have a question or would like clarification!


Warning! :)

This and the colorvert module are still under development. They currently function for perfect input, but as soon as an empty/invalid value is passed, things fall apart, so I have to do some input testing/error reporting and write thorough tests before anyone should use it. You've been warned :) Otherwise, feel free to run it locally if you need to batch convert colors and you know the input will be valid!