console-strings v0.2.15
console-strings
Social Media Photo by Dominik Scythe on Unsplash
A dual module that can be used via import
, require
, or directly via https://esm.run/console-strings
, to automatically wrap \x1b[...
escape chars around strings in a terminal or devtools compatible way.
import {
bold, // show bold text
light, // show a lighter text - alias: dim
italic, // show italic text
underline, // show underlined text
strike, // show a strike-through text
overline, // show an overline (not in devtools)
foreground, // use a specific text color
background, // use a specific background color
reset, // reset any broken output (not needed but handy)
} from 'console-strings';
// ⚠️ needed only for x-browser compatibility
// not needed at all in Bun, NodeJS or Chrome/ium browsers
import * as console from 'console-strings/browser';
// exported: error, info, log, warn
console.log(`
This is ${bold('bold')} text
while this should be ${light('light')}.
An ${italic('italic')} text is allowed
and so it should be ${underline('underlined')}.
A ${strike('strike')} would work too but
an ${overline('overline')} might not.
Combine ${underline(bold(italic('underlined bold italic')))}
or any other variant or add some ${foreground('color', 32)} and
${background(foreground('background', 30), 42)} color too. ${reset()}
`);
Markdown
The console-strings/md
default export converts:
- bold via
**double**
stars - underline via
__double__
underlines - light or dim via
-single-
or--double--
dashes - strike via
~single~
or~~double~~
dashes - italic via single
*star*
or single_underlined_
only - foreground via
f#32#color value#
orf#R;G;B#rgb value#
- background via
b#42#color value#
orb#R;G;B#rgb value#
import md from 'console-strings/md';
console.log(md('Hello **World**!'));
For anything more complex please see consolemd.
Colors
All colors compatible with devtools are described in here and this is a summary:
Name | Foreground | Background | Light theme | Dark theme |
---|---|---|---|---|
Black | 30 | 40 | #000000 | #000000 |
Red | 31 | 41 | #AA0000 | #ED4E4C |
Green | 32 | 42 | #00AA00 | #01C800 |
Yellow | 33 | 43 | #AA5500 | #D2C057 |
Blue | 34 | 44 | #0000AA | #2774F0 |
Magenta | 35 | 45 | #AA00AA | #A142F4 |
Cyan | 36 | 46 | #00AAAA | #12B5CB |
White | 37 | 47 | #AAAAAA | #CFD0D0 |
Bright Black | 90 | 100 | #555555 | #898989 |
Bright Red | 91 | 101 | #FF5555 | #F28B82 |
Bright Green | 92 | 102 | #55FF55 | #01C801 |
Bright Yellow | 93 | 103 | #FFFF55 | #DDFB55 |
Bright Blue | 94 | 104 | #5555FF | #669DF6 |
Bright Magenta | 95 | 105 | #FF55FF | #D670D6 |
Bright Cyan | 96 | 106 | #55FFFF | #84F0FF |
Bright White | 97 | 107 | #FFFFFF | #FFFFFF |
If a foreground value for a background(content, value)
is passed along, or vice-versa, a ⚠
char would prefix the error without throwing while outputting.
The browser
variant color is chosen after a one-off matchMedia('(prefers-color-scheme:dark)')
check.
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago