2013-05-08 51 views
3

如何使用非常流行的顏色模塊使用rgb或十六進制表示設置顏色? https://npmjs.org/package/colors如何使用rgb或十六進制表示法使用非常流行的顏色模塊設置顏色?

我閱讀ove文檔,但沒有看到一個選項,但是,它看起來像這樣一個流行的模塊會給你這個控制,不是嗎?

var colors = require('colors'); 

colors.setTheme({ 
    my_green: '#5A9664', // doesn't work 
    output: 'green', 
}); 

    console.log("A string that wants to be a color.".my_green); 

更新,把所以它不是埋葬我的問題的意見之一: 顏色模塊支持瀏覽器模式,這清楚地開闢了html標籤內#十六進位顏色的門。 setTheme不支持ANSI輸入數組,只需要前半部分。 (該模塊必須更聰明才能將字符串包裝在ansi中。)

謝謝。

回答

2

控制檯的顏色格式不能接受這些十六進制顏色值:#XXXXXX你需要檢查這些文件: https://github.com/Marak/colors.js/blob/master/colors.js並通過ANSI color format value

由於開發商介紹:

'bold'  : ['\x1B[1m', '\x1B[22m'], 
'italic' : ['\x1B[3m', '\x1B[23m'], 
'underline' : ['\x1B[4m', '\x1B[24m'], 
'inverse' : ['\x1B[7m', '\x1B[27m'], 
'strikethrough' : ['\x1B[9m', '\x1B[29m'], 
//grayscale 
'white'  : ['\x1B[37m', '\x1B[39m'], 
'grey'  : ['\x1B[90m', '\x1B[39m'], 
'black'  : ['\x1B[30m', '\x1B[39m'], 
//colors 
'blue'  : ['\x1B[34m', '\x1B[39m'], 
'cyan'  : ['\x1B[36m', '\x1B[39m'], 
'green'  : ['\x1B[32m', '\x1B[39m'], 
'magenta' : ['\x1B[35m', '\x1B[39m'], 
'red'  : ['\x1B[31m', '\x1B[39m'], 
'yellow' : ['\x1B[33m', '\x1B[39m'] 
+0

很酷。謝謝。因此,即使'colors'模塊支持瀏覽器模式,這爲html標籤內的#hex顏色打開了大門,也沒有好的API。 'setTheme'不支持ANSI輸入數組。 (好吧,它接受前半部分,但不接近,所以__everything__被改變爲該風格或顏色。)https://github.com/Marak/colors.js/blob/master/colors.js#L192 – 2013-05-08 17:48:21

+0

得到了我希望使用ansi模塊https://npmjs.org/package/ansi – 2013-05-08 17:50:33

+0

下面是一個ANSI代碼添加到'setTheme'但不能關閉它的例子。 'my_underline:['\ x1B [4m'' – 2013-05-08 17:57:28

1

只能覆蓋現有的主題屬性和設置預先定義的顏色的特定鍵

自述:

colors.setTheme({ 
    silly: 'rainbow', 
    input: 'grey', 
    verbose: 'cyan', 
    prompt: 'grey', 
    info: 'green', 
    data: 'grey', 
    help: 'cyan', 
    warn: 'yellow', 
    debug: 'blue', 
    error: 'red' 
}); 

例如,您可以設置prompt到​​,但你不能設置prompt到一個自定義的十六進制顏色

+0

感謝。我明白了。這是一個很好的功能來更改密鑰的名稱。我只想更多地控制字典中的顏色。 ; D – 2013-05-08 17:45:14

相關問題