commit 741e1127df3955e5852c8d4e02d1fa18af6b49cd Author: Jorge Bolois Date: Sun Mar 12 19:01:06 2023 +0100 First commit. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30bc162 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/colorgen.js b/colorgen.js new file mode 100755 index 0000000..2f7a6b1 --- /dev/null +++ b/colorgen.js @@ -0,0 +1,31 @@ +#!/usr/bin/env node +import { program } from 'commander'; +import tinycolor from 'tinycolor2'; + +program.command('gen ') + .description('Generates multiple colors from a given color') + .option('-a, --amount ', '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()} `); +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ba9709b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,33 @@ +{ + "name": "colorgen", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "colorgen", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "commander": "^10.0.0", + "tinycolor2": "^1.6.0" + }, + "bin": { + "colorgen": "colorgen.js" + } + }, + "node_modules/commander": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..49eaedb --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "@midefos/colorgen", + "type": "module", + "version": "0.1.0", + "description": "Color generator", + "bin": { + "colorgen": "./colorgen.js" + }, + "author": "Midefos", + "license": "MIT", + "dependencies": { + "commander": "^10.0.0", + "tinycolor2": "^1.6.0" + } +}