chalk-with-markers
v2.1.1
Published
Makes Chalk even more chill by helping you to simple color markers to the string ๐ค
Maintainers
Readme
Chalk with Markers -- for the ๐ of ๐ ASCII art ๐ค
I. Love. ASCII. Art. Seriously I can't make a NodeJS CLI or Chatbot without adding a decent splash-screen to it. That's why I love Chalk. But creating those strings got a little too verbose, that's why I created this lib.
Note: we've upgraded to ESM, as Chalk is also in ESM.
import { asciiArtChalker } from "chalk-with-markers";
console.log(asciiArtChalker.colorize(`
b ______g__ __y____o__ r__ __
b / ____/g / / /y _/o / r/ //_/
b / / g/ /_/ /y/ /o/ / r/ ,<
b/ /___g/ __ /y/ /o/ /___r/ /| |
b\\____/g_/ /_/y___/o_____/r_/ |_|
`));Note: I use the TAAG by patorjk to generate the art.
This lib should just:
- be light weight & extendable
- provide readable, non-verbose markers
Text highlight
If you want to highlight text, we use the default chalker like this:
import { chalker } from "chalk-with-markers";
console.log("Results:");
console.log(chalker.colorize("- Checked status for [y]KeesTalksTech[/], website is [g]online[/]."));
console.log(chalker.colorize("- Checked status for [y]Recipes[/], website is [r]offline[/]."));It produces:
Default color markings
We have the following:
| color | HTML name | HEX | chalker marker | asciiArtChalker marker | notes |
| ------------------------------------------------------------ | ------------ | -------- | ---------------- | ------------------------ | ----- |
| | red |
FF0000 | [r] | r | |
| | lime |
00FF00 | [g] | g | |
| | light blue |
0080FF | [b] | b | |
| | yellow |
FFFF00 | [y] | y | |
| | magenta |
FF00FF | [m] | m | |
| | cyan |
00FFFF | [c] | c | |
| | orange |
FFA500 | [o] | o | |
| | light violet |
FFFFFF | [p] | p | |
| | white |
FFFFFF | [w] | w | |
| | black |
000000 | [k] | k | |
| | | | [q] or [/] | q | resets chalk |
Own mappings
Can I make my own markers? Yes, you can!
import { Chalker } from "chalk-with-markers";
import chalk from "chalk";
const x = new Chalker();
x.set("[r]", chalk.bgRed.black);
x.set("[w]", chalk.bgWhite.black);
x.set("[b]", chalk.bgBlue.black);
x.set("[/]", chalk.reset);
console.log(x.colorize(`
[r] X X X X
[w] X X X
[b] X X X X
[/] `));
It produces:
Extend
Can I extend the mappings? Yes you can!
import { asciiArtChalker } from "chalk-with-markers";
import chalk from "chalk";
// global extend:
asciiArtChalker.set("p", chalk.hex("#FFC0CB")); // add HTML pink
// or clone to use extend locally:
const x = asciiArtChalker.clone();
x.set("p", chalk.hex("#FFC0CB")); // add HTML pink
