mirror of
https://github.com/flynx/colors.js.git
synced 2025-11-02 21:10:08 +00:00
[minor] implemented a browser mode for issue #4
This commit is contained in:
parent
7fc728724a
commit
036bd80cdb
65
colors.js
65
colors.js
@ -23,6 +23,8 @@ THE SOFTWARE.
|
||||
|
||||
*/
|
||||
|
||||
exports.mode = "console";
|
||||
|
||||
// prototypes the string object to have additional method calls that add terminal colors
|
||||
|
||||
var addProperty = function (color, func) {
|
||||
@ -67,26 +69,49 @@ addProperty('rainbow', function () {
|
||||
});
|
||||
|
||||
function stylize(str, style) {
|
||||
var styles = {
|
||||
//styles
|
||||
'bold' : [1, 22],
|
||||
'italic' : [3, 23],
|
||||
'underline' : [4, 24],
|
||||
'inverse' : [7, 27],
|
||||
//grayscale
|
||||
'white' : [37, 39],
|
||||
'grey' : [90, 39],
|
||||
'black' : [90, 39],
|
||||
//colors
|
||||
'blue' : [34, 39],
|
||||
'cyan' : [36, 39],
|
||||
'green' : [32, 39],
|
||||
'magenta' : [35, 39],
|
||||
'red' : [31, 39],
|
||||
'yellow' : [33, 39]
|
||||
};
|
||||
return '\033[' + styles[style][0] + 'm' + str +
|
||||
'\033[' + styles[style][1] + 'm';
|
||||
if (exports.mode == 'console') {
|
||||
var styles = {
|
||||
//styles
|
||||
'bold' : ['\033[1m', '\033[22m'],
|
||||
'italic' : ['\033[3m', '\033[23m'],
|
||||
'underline' : ['\033[4m', '\033[24m'],
|
||||
'inverse' : ['\033[7m', '\033[27m'],
|
||||
//grayscale
|
||||
'white' : ['\033[37m', '\033[39m'],
|
||||
'grey' : ['\033[90m', '\033[39m'],
|
||||
'black' : ['\033[90m', '\033[39m'],
|
||||
//colors
|
||||
'blue' : ['\033[34m', '\033[39m'],
|
||||
'cyan' : ['\033[36m', '\033[39m'],
|
||||
'green' : ['\033[32m', '\033[39m'],
|
||||
'magenta' : ['\033[35m', '\033[39m'],
|
||||
'red' : ['\033[31m', '\033[39m'],
|
||||
'yellow' : ['\033[33m', '\033[39m']
|
||||
};
|
||||
} else if (exports.mode == 'browser') {
|
||||
var styles = {
|
||||
//styles
|
||||
'bold' : ['<b>', '</b>'],
|
||||
'italic' : ['<i>', '</i>'],
|
||||
'underline' : ['<u>', '</u>'],
|
||||
'inverse' : ['<span style="background-color:black;color:white;">', '</span>'],
|
||||
//grayscale
|
||||
'white' : ['<span style="color:white;">', '</span>'],
|
||||
'grey' : ['<span style="color:grey;">', '</span>'],
|
||||
'black' : ['<span style="color:black;">', '</span>'],
|
||||
//colors
|
||||
'blue' : ['<span style="color:blue;">', '</span>'],
|
||||
'cyan' : ['<span style="color:cyan;">', '</span>'],
|
||||
'green' : ['<span style="color:green;">', '</span>'],
|
||||
'magenta' : ['<span style="color:magenta;">', '</span>'],
|
||||
'red' : ['<span style="color:red;">', '</span>'],
|
||||
'yellow' : ['<span style="color:yellow;">', '</span>']
|
||||
};
|
||||
} else {
|
||||
console.log('unsupported mode, try "browser" or "console"');
|
||||
}
|
||||
|
||||
return styles[style][0] + str + styles[style][1];
|
||||
};
|
||||
|
||||
// don't summon zalgo
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
var sys = require('sys');
|
||||
var colors = require('./colors');
|
||||
|
||||
//colors.mode = "browser";
|
||||
|
||||
sys.puts('Rainbows are fun!'.rainbow);
|
||||
sys.puts('So '.italic + 'are'.underline + ' styles! '.bold + 'inverse'.inverse); // styles not widely supported
|
||||
sys.puts('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user