mirror of
				https://github.com/flynx/colors.js.git
				synced 2025-11-04 05:50:10 +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
 | 
					// prototypes the string object to have additional method calls that add terminal colors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var addProperty = function (color, func) {
 | 
					var addProperty = function (color, func) {
 | 
				
			||||||
@ -67,26 +69,49 @@ addProperty('rainbow', function () {
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function stylize(str, style) {
 | 
					function stylize(str, style) {
 | 
				
			||||||
  var styles = {
 | 
					  if (exports.mode == 'console') {
 | 
				
			||||||
  //styles
 | 
					    var styles = {
 | 
				
			||||||
  'bold'      : [1,  22],
 | 
					      //styles
 | 
				
			||||||
  'italic'    : [3,  23],
 | 
					      'bold'      : ['\033[1m',  '\033[22m'],
 | 
				
			||||||
  'underline' : [4,  24],
 | 
					      'italic'    : ['\033[3m',  '\033[23m'],
 | 
				
			||||||
  'inverse'   : [7,  27],
 | 
					      'underline' : ['\033[4m',  '\033[24m'],
 | 
				
			||||||
  //grayscale
 | 
					      'inverse'   : ['\033[7m',  '\033[27m'],
 | 
				
			||||||
  'white'     : [37, 39],
 | 
					      //grayscale
 | 
				
			||||||
  'grey'      : [90, 39],
 | 
					      'white'     : ['\033[37m', '\033[39m'],
 | 
				
			||||||
  'black'     : [90, 39],
 | 
					      'grey'      : ['\033[90m', '\033[39m'],
 | 
				
			||||||
  //colors
 | 
					      'black'     : ['\033[90m', '\033[39m'],
 | 
				
			||||||
  'blue'      : [34, 39],
 | 
					      //colors
 | 
				
			||||||
  'cyan'      : [36, 39],
 | 
					      'blue'      : ['\033[34m', '\033[39m'],
 | 
				
			||||||
  'green'     : [32, 39],
 | 
					      'cyan'      : ['\033[36m', '\033[39m'],
 | 
				
			||||||
  'magenta'   : [35, 39],
 | 
					      'green'     : ['\033[32m', '\033[39m'],
 | 
				
			||||||
  'red'       : [31, 39],
 | 
					      'magenta'   : ['\033[35m', '\033[39m'],
 | 
				
			||||||
  'yellow'    : [33, 39]
 | 
					      'red'       : ['\033[31m', '\033[39m'],
 | 
				
			||||||
  };
 | 
					      'yellow'    : ['\033[33m', '\033[39m']
 | 
				
			||||||
  return '\033[' + styles[style][0] + 'm' + str +
 | 
					    };
 | 
				
			||||||
         '\033[' + styles[style][1] + 'm';
 | 
					  } 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
 | 
					// don't summon zalgo
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,8 @@
 | 
				
			|||||||
var sys = require('sys');
 | 
					var sys = require('sys');
 | 
				
			||||||
var colors = require('./colors');
 | 
					var colors = require('./colors');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//colors.mode = "browser";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sys.puts('Rainbows are fun!'.rainbow);
 | 
					sys.puts('Rainbows are fun!'.rainbow);
 | 
				
			||||||
sys.puts('So '.italic + 'are'.underline + ' styles! '.bold + 'inverse'.inverse); // styles not widely supported
 | 
					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
 | 
					sys.puts('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user