hexsorter
Version:
A sorter for hexadecimal color arrays - by brightness, saturization, brightest dull color + hex color mixer.
109 lines (74 loc) • 3.02 kB
Markdown


In a browser:
```html
<script src="hexSorter.js"></script>
```
Using npm:
```shell
$ npm i --save hexsorter
```
In Node.js:
```js
// Load the module.
const hexSorter = require('hexSorter');
```
hexSorter was based on an old Adobe Kuler plugin in php. Rewritten to work with<br>
new technology.<br>
Its usage is to automagically sort colors by luminosity, to generate style<br>
sheets or vector fill/strokes.<br>
* Sort colors by luminosity
* Get brightest color from array
* Get most saturated color from array
* Mix hexadecimal color values to create/diffuse colors
* Choose conversion type for RGB->Y. BT.601, BT709, BT2020
<br>
```shell
node test
```
```js
const hexSorter = require('./hexSorter');
const log = console.log;
var colorArray = ["#516373", "#f2b999", "#f2e8c9", "#6c838c", "#f2f2f2"];
var mixColor = hexSorter.colorMixer(colorArray[0], "#fff", 50);
var mostBright = hexSorter.sortColors(colorArray, 'mostBrightColor');
var mostSaturatedColor = hexSorter.sortColors(colorArray, 'mostSaturatedColor');
var colorMixed = hexSorter.colorMixer("#516373", "#fff", 50);
var mixSort = hexSorter.mixSortColors(colorArray, 'mostBrightColor', "#fff", 50);
console.log("Mixed with 50% white: ", mixColor);
console.log("Sorted by brightness: ", mostBright);
console.log("Sorted by saturation: ", mostSaturatedColor);
console.log("Mix #fff sorted: ", mixSort);
console.log("Mix #516373 with #fff - 50%: ", colorMixed);
```
Can be found in the /examples/ folder, be sure to run:
```shell
npm install
```
in the examples folder before testing examples.
sortcolors.js - NodeJS example, showing how sorting works
```shell
node sortcolors
```

[](https://stackblitz.com/edit/hexsorter?file=index.js)
[](https://stackblitz.com/edit/hexsorter-vue?file=index.js)
convtocss.js - NodeJS example, reading from file, outputting to css.
```shell
node convtocss
```
Outputs 'output/dagthomas.css' based on color arrays in 'input/colors.txt' (from an earlier php Kuler project, nvrfrgt).
[](https://github.com/dagthomas/hexSorter/blob/master/examples/input/colors.txt)
[](https://github.com/dagthomas/hexSorter/blob/master/examples/output/dagthomas.css)
