chalk-with-markers
v2.1.1
Published
Makes Chalk even more chill by helping you to simple color markers to the string ๐ค
Downloads
410
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