colorgen/colorgen.js

32 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-03-12 19:01:06 +01:00
#!/usr/bin/env node
import { program } from 'commander';
import tinycolor from 'tinycolor2';
program.command('gen <color>')
.description('Generates multiple colors from a given color')
.option('-a, --amount <n>', 'Amount of darken', 10)
.action((color, options) => {
const primary = tinycolor(color);
const amount = options.amount;
logColor(primary, 'primary');
const darkPrimary = primary.clone().darken(amount);
logColor(darkPrimary, 'dark primary');
const darkerPrimary = darkPrimary.clone().darken(amount);
logColor(darkerPrimary, 'darker primary');
const secondary = primary.complement();
logColor(secondary, 'secondary');
const darkSecondary = secondary.clone().darken(amount);
logColor(darkSecondary, 'dark secondary');
const darkerSecondary = darkSecondary.clone().darken(amount);
logColor(darkerSecondary, 'darker secondary');
});
program.parse(process.argv);
function logColor(color, name) {
const { r, g, b } = color.toRgb()
console.log(`\x1b[48;2;${r};${g};${b}m COLOR \x1b[0m [${name.toUpperCase()}] ${color.toHexString()} `);
}