chalker v1.2.0
chalker
Set ansi colors in strings using <> markers and chalk.
Usage
const chalker = require("chalker");
console.log(chalker("<red.bgGreen>Red on Green Text</>"));
// with template string tagging
console.log(chalker`<green>hello world</green>`);A typical use case is to easily manage colors for logs that could go to console or log servers.
const msg = `<red>some error occurred...</red>`;
// log to console for visual with colors
if (!production) console.log(chalker(msg));
// log to log server with colors removed
logger.log(chalker.remove(msg));Install
npm i --save chalkerDemo

Marker Details
Color markers has the
<red>red text</red>format. You can use any valid methods chalk supports.- For example,
<blue.bold>blue bold text</blue.bold>will colorizeblue bold textwithchalk.blue.bold. - Closing marker can be simply
</>
- For example,
The following HTML entities escapes are supported:
Entity Character Entity Character << >> && non-breaking space '' ©© "" ®® HTML escape using code points also works:
- Hex -
&#xhhhh;wherehhhhis the Hex code point. - Decimal -
&#nnnn;wherennnnis the Decimal code point. - ie:
��makes 👩
- Hex -
Advanced Chalk Colors
Chalk advanced colors can be applied with:
| chalk API | chalker marker | chalk API | chalker marker |
|---|---|---|---|
chalk.rgb | <(255, 10, 20)>, <rgb(255,10,20)> | chalk.bgRgb | <bg(255, 10, 20)>, <bgRgb(255,10,20)> |
chalk.hex | <#FF0000>, <hex(#FF0000)> | chalk.bgHex | <bg#0000FF>, <bgHex(#0000FF)> |
chalk.keyword | <orange>, <(orange)>, <keyword(orange)> | chalk.bgKeyword | <bg-orange>, <bg(orange)>, <bgKeyword(orange)> |
chalk.hsl | <hsl(32,100,50)> | chalk.bgHsl | <bgHsl(32,100,50)> |
chalk.hsv | <hsv(32,100,100)> | chalk.bgHsv | <bgHsv(32,100,100)> |
chalk.hwb | <hwb(32,0,50)> | chalk.bgHwb | <bgHwb(32,0,50)> |
More details
a marker is tried with
chalk.keywordif:- it's not detected as hex value
- it doesn't contain params enclosed in
() - it's not found as a basic color that
chalksupports - for example, this is a chalk color keyword:
<orange> If it's prefixed with
"bg-"then it's tried usingchalk.bgKeyword- ie:
<bg-orange>
- ie:
All markers can be comined with
.in any order as long as they work with chalk- ie:
<#FF0000.bg#0000FF.bg-orange.keyword(red)>
- ie:
APIs
chalker
chalker(str, [chalkInstance]);str- String with chalker color markerschalkInstance- Optional custom instance of chalk.- ie: created from
new chalk.constructor({level: 2})
- ie: created from
Returns: A string with terminal/ansi color codes
If
chalk.supportsColorisfalse, then it will simply remove the<>markers and decode HTML entities only.
chalker.remove
chalker.remove(str, keepHtml);str- String with chalker color markerskeepHtml- Iftrue, then don't decode HTML entity escapes.
Simply remove all chalker markers and return the plain text string, with HTML escapes decoded.
Returns: A plain text string without chalker color markers
chalker.decodeHtml
chalker.decodeHtml(str);str- String to decode HTML entities
Returns: String with HTML entities escapes decoded
License
Copyright (c) 2019-present, Joel Chen
Licensed under the Apache License, Version 2.0.