Stylish console.log for node
RenderKid allows you to use HTML and CSS to style your CLI output, making it easy to create a beautiful, readable, and consistent look for your nodejs tool.
Install with npm:
```
$ npm install renderkid
`coffeescript
RenderKid = require('renderkid')
r = new RenderKid()
r.style({
"ul": {
display: "block"
margin: "2 0 2"
}
"li": {
display: "block"
marginBottom: "1"
}
"key": {
color: "grey"
marginRight: "1"
}
"value": {
color: "bright-white"
}
})
output = r.render("
console.log(output)
`
Elements can have a display of either inline, block, or none:`coffeescript
r.style({
"div": {
display: "block"
}
"span": {
display: "inline" # default
}
"hidden": {
display: "none"
}
})
output = r.render("
console.log(output)
`
Margins work just like they do in browsers:
`coffeescript
r.style({
"li": {
display: "block"
marginTop: "1"
marginRight: "2"
marginBottom: "3"
marginLeft: "4"
# or the shorthand version:
"margin": "1 2 3 4"
},
"highlight": {
display: "inline"
marginLeft: "2"
marginRight: "2"
}
})
r.render("
$3
See margins above. Paddings work the same way, only inward.
$3
Block elements can have explicit width and height:
`coffeescript
r.style({
"box": {
display: "block"
"width": "4"
"height": "2"
}
})r.render("This is a box and some of its text will be truncated. ")
`$3
You can set a custom color and background color for each element:
`coffeescript
r.style({
"error": {
color: "black"
background: "red"
}
})
`List of colors currently supported are
black, red, green, yellow, blue, magenta, cyan, white, grey, bright-red, bright-green, bright-yellow, bright-blue, bright-magenta, bright-cyan, bright-white.$3
Block elements can have bullet points on their margins. Let's start with an example:
`coffeescript
r.style({
"li": {
# To add bullet points to an element, first you
# should make some room for the bullet point by
# giving your element some margin to the left:
marginLeft: "4", # Now we can add a bullet point to our margin:
bullet: '"-"'
}
})
The four hyphens are there for visual reference
r.render("
----
Item 1
Item 2
Item 3
----
")
``