Skip to content

metarhia/concolor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ac33c84 Β· Jan 1, 2025
Jan 1, 2025
Dec 3, 2020
Oct 3, 2020
Jun 28, 2018
Jun 28, 2018
Oct 22, 2023
Nov 16, 2022
Jan 1, 2025
May 4, 2021
Jan 1, 2025
Jan 1, 2025
Oct 22, 2023
Jul 17, 2021
Feb 20, 2023
Aug 16, 2024
Jan 1, 2025
Jan 1, 2025
Jan 1, 2025
Nov 16, 2022
Oct 22, 2023

Repository files navigation

Concolor

ci status snyk npm version npm downloads/month npm downloads

Concolor is a simple library for Node.js for coloring templated strings using tags with annotations

Usage

String tag

console.log(concolor`text ${expression}(styles)`);

Examples:

console.log(concolor`Ave ${'World'}(blue) blue`);
console.log(concolor`Ave ${'World'}(/red) on red`);
console.log(concolor`Ave ${'World'}(white/yellow,b) bold white on yellow`);
console.log(concolor`Ave ${'World'}(b) bold`);
console.log(concolor`Ave ${'World'}(b,/blue) bold on blue`);
console.log(concolor`Ave ${'World'}(b,u,yellow) bold underline yellow`);
console.log(concolor`Ave ${'World'}(blue,u) blue underline`);
console.log(concolor`Ave ${'World'}(b,black/green) bold black on green`);

console.log(concolor`
  Client on ${'192.168.1.1'}(black/green)
  connected to ${'SERVER'}(b,red)
  at ${new Date().toUTCString()}(b,blue)
`);

Tag factory

const tag = concolor(styles);
console.log(tag`text`);

Examples:

const warn = concolor('b,yellow');
const err = concolor('b,yellow/red');
const inf = concolor('i,white');

console.log(warn`test1 ${'text2'} text3`);
console.log(err`test4 ${'text5'} text6`);
console.log(inf`test7 ${'text8'} text9`);

Style function

const style = concolor(styles);
console.log(style('text'));

Examples:

const warn = concolor('b,yellow');
const err = concolor('b,yellow/red');
const inf = concolor('i,white');

console.log(warn(`test1 ${'text2'} text3`));
console.log(err(`test4 ${'text5'} text6`));
console.log(inf(`test7 ${'text8'} text9`));

Themes

const theme = concolor({
  caption: 'b,white',
  text: 'green',
  link: 'u,yellow',
});

const caption = 'Caption';
const text = 'Here is a text';
const link = 'http://metarhia.com';

console.log(theme`  ${{ caption }}
  ${{ text }}
  ${{ link }}`);

Themes as functions

const theme = concolor({
  caption: 'b,white',
  text: 'green',
  link: 'u,yellow',
});

console.log(theme.caption('Caption example'));

License & Contributors

Copyright (c) 2017-2025 Metarhia contributors. Concolor is MIT licensed.
Concolor is a part of Metarhia technology stack.