You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

chalker

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chalker

Set ansi colors in strings using XML and chalk

1.2.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

NPM version Build Status Dependency Status devDependency Status

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 chalker

Demo

demo

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 colorize blue bold text with chalk.blue.bold.
    • Closing marker can be simply </>
  • The following HTML entities escapes are supported:

    EntityCharacterEntityCharacter
    &lt;<&gt;>
    &amp;&&nbsp;non-breaking space
    &apos;'&copy;©
    &quot;"&reg;®
  • HTML escape using code points also works:

    • Hex - &#xhhhh; where hhhh is the Hex code point.
    • Decimal - &#nnnn; where nnnn is the Decimal code point.
    • ie: &#xD83D;&#xDC69; makes 👩

Advanced Chalk Colors

Chalk advanced colors can be applied with:

chalk APIchalker markerchalk APIchalker 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.keyword if:

    • it's not detected as hex value

    • it doesn't contain params enclosed in ()

    • it's not found as a basic color that chalk supports

    • for example, this is a chalk color keyword: <orange>

    • If it's prefixed with "bg-" then it's tried using chalk.bgKeyword

      • ie: <bg-orange>
  • All markers can be comined with . in any order as long as they work with chalk

    • ie: <#FF0000.bg#0000FF.bg-orange.keyword(red)>

APIs

chalker

chalker(str, [chalkInstance]);
  • str - String with chalker color markers
  • chalkInstance - Optional custom instance of chalk.
    • ie: created from new chalk.constructor({level: 2})

Returns: A string with terminal/ansi color codes

If chalk.supportsColor is false, then it will simply remove the <> markers and decode HTML entities only.

chalker.remove

chalker.remove(str, keepHtml);
  • str - String with chalker color markers
  • keepHtml - If true, 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.

Keywords

string

FAQs

Package last updated on 05 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts