chalk/ansi-styles là dự án mã nguồn mở trên GitHub, viết chủ yếu bằng JavaScript, với 462 sao. ANSI escape codes for styling strings in the terminal
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
ANSI escape codes for styling strings in the terminal
You probably want the higher-level chalk module for styling your strings.
Install
npm install ansi-styles
Usage
import styles from 'ansi-styles';
console.log(`${styles.green.open}Hello world!${styles.green.close}`);
// Color conversion between 256/truecolor
// NOTE: When converting from truecolor to 256 colors, the original color
// may be degraded to fit the new color palette. This means terminals
// that do not support 16 million colors will best-match the
// original color.
console.log(`${styles.color.ansi(styles.rgbToAnsi(199, 20, 250))}Hello World${styles.color.close}`)
console.log(`${styles.color.ansi256(styles.rgbToAnsi256(199, 20, 250))}Hello World${styles.color.close}`)
console.log(`${styles.color.ansi16m(...styles.hexToRgb('#abcdef'))}Hello World${styles.color.close}`)
API
open and close
Each style has an open and close property.
modifierNames, foregroundColorNames, backgroundColorNames, underlineColorNames, and colorNames
All supported style strings are exposed as an array of strings for convenience. colorNames is the combination of foregroundColorNames and backgroundColorNames. Underline color names are kept separate in underlineColorNames.
underline - Put a horizontal line below the text. (Not widely supported)
underlineDouble - Put a double horizontal line below the text. (Not widely supported)
underlineCurly - Put a curly horizontal line below the text. (Not widely supported)
underlineDotted - Put a dotted horizontal line below the text. (Not widely supported)
underlineDashed - Put a dashed horizontal line below the text. (Not widely supported)
overlineSupported on VTE-based terminals, the GNOME terminal, mintty, and Git Bash.
inverse
hidden
strikethrough(Not widely supported)
Colors
black
red
green
yellow
blue
magenta
cyan
white
blackBright (alias: gray, grey)
redBright
greenBright
yellowBright
blueBright
magentaBright
cyanBright
whiteBright
Background colors
bgBlack
bgRed
bgGreen
bgYellow
bgBlue
bgMagenta
bgCyan
bgWhite
bgBlackBright (alias: bgGray, bgGrey)
bgRedBright
bgGreenBright
bgYellowBright
bgBlueBright
bgMagentaBright
bgCyanBright
bgWhiteBright
Underline colors
The underline color is set independently of the text color, so the color is only visible when an underline style is also applied. (Not widely supported)
Unlike text and background colors, underline colors have no basic 16-color form. Named underline colors and underlineColor.ansi() use the first 16 entries of the 256-color palette. underlineColor.ansi256() emits a 256-color escape, and underlineColor.ansi16m() emits a truecolor escape.
By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
styles.modifier
styles.color
styles.bgColor
styles.underlineColor
Style groups example
import styles from 'ansi-styles';
console.log(styles.color.green.open);
The leading SGR parameters of the styles are available under styles.codes, which returns a Map with the open codes as keys and close codes as values. Parameterized styles such as 4:2 and 58;5;0 are keyed by their leading parameter, 4 and 58 respectively.
Style codes example
import styles from 'ansi-styles';
console.log(styles.codes.get(36));
//=> 39
16 / 256 / 16 million (TrueColor) support
ansi-styles allows converting between various color formats and ANSI escapes, with support for 16, 256 and 16 million colors.
The following color spaces are supported:
rgb
hex
ansi256
ansi
To use these, call the associated conversion function with the intended output, for example:
import styles from 'ansi-styles';
styles.color.ansi(styles.rgbToAnsi(100, 200, 15)); // RGB to 16 color ansi foreground code
styles.bgColor.ansi(styles.hexToAnsi('#C0FFEE')); // HEX to 16 color ansi foreground code
styles.color.ansi256(styles.rgbToAnsi256(100, 200, 15)); // RGB to 256 color ansi foreground code
styles.bgColor.ansi256(styles.hexToAnsi256('#C0FFEE')); // HEX to 256 color ansi foreground code
styles.underlineColor.ansi(styles.rgbToAnsi(100, 200, 15)); // RGB to underline code using the first 16 palette entries
styles.color.ansi16m(100, 200, 15); // RGB to 16 million color foreground code
styles.bgColor.ansi16m(...styles.hexToRgb('#C0FFEE')); // Hex (RGB) to 16 million color foreground code
styles.underlineColor.ansi256(styles.hexToAnsi256('#C0FFEE')); // HEX to 256 color underline code
styles.underlineColor.ansi16m(...styles.hexToRgb('#C0FFEE')); // Hex (RGB) to 16 million color underline code
Related
ansi-escapes - ANSI escape codes for manipulating the terminal
chalk/ansi-styles có 462 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/chalk/ansi-styles. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
chalk/ansi-styles có những chủ đề gì?
GitHub topics của chalk/ansi-styles: "chalk". TopGit xếp repo vào nhóm mã nguồn mở.
chalk/ansi-styles còn đang phát triển không?
Commit gần nhất trên chalk/ansi-styles là 21 ngày trước (theo timestamp GitHub). Repo có 82 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
chalk/ansi-styles là gì?
chalk/ansi-styles (chalk/ansi-styles) là dự án JavaScript trên GitHub. Theo mô tả gốc: ANSI escape codes for styling strings in the terminal
chalk/ansi-styles viết bằng ngôn ngữ gì?
chalk/ansi-styles chủ yếu viết bằng JavaScript. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
ansi-styles có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về ansi-styles.