An open API service indexing awesome lists of open source software.

https://github.com/tool3/shellfie

🤳🏼 create beautiful terminal screenshots programmatically
https://github.com/tool3/shellfie

ansi-colors npm screenshot terminal xterm-js

Last synced: 2 months ago
JSON representation

🤳🏼 create beautiful terminal screenshots programmatically

Awesome Lists containing this project

README

          

# shellfie 🤳🏽

# install
```bash
npm install shellfie
```

# the holy trinity â–˝
`shellfie` respects the holy trinity: the lib, the service, and the holy cli.
- [shellfie](https://github.com/tool3/shellfie)
- [shellfied](https://github.com/tool3/shellfied)
- [shellfie-cli](https://github.com/tool3/shellfie-cli)

### Apple Silicon
```bash
# NOTE! if you are running on Apple Silicon you may need to set the following env variables:
export PUPPETEER_EXECUTABLE_PATH=`which chromium`
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
```

# usage
```javascript
const data = [
'\x1b[105mSHELLFIE\\x1b[0m🤳',
'\x1b[38;5;225mthe easiest way',
'\x1b[38;5;213mto create beautiful',
'\x1b[38;5;14mCLI screenshots 📸',
'\x1b[38;5;199mprogrammatically 🚀'
];
const options = {
name: 'shellfie',
style: {
fontSize: 15,
fontWeight: 'bold',
fontFamily: 'Fira Code'
},
viewport: {
width: 400,
height: 300
}
}
await shellfie(data, options);
```

outputs:

# data
**type**: `string[]` || `string`
**description**: string data to output to the terminal

# options
**type**: `object`
**description**: optional config for `shellfie`
### `name`
**type**: `string`
**description**: name of image
### `location`
**type**: `string`
**description**: relative path to save your shellfies
### `puppeteerOptions`
**type**: `object`
**description**: optional puppteer args
**default**: `{ args: ['--no-sandbox', '--disable-setuid-sandbox'] }`
### `mode`
**type**: `string`
**description**: can allow raw string input. for example: `yarn test --colors > help.txt`, then copy the text and provide it to `shellfie` with this option set to `raw`.
**default**: `default`
### `theme`
**type**: `object`
**description**: optional theme style
- #### `background`
**type**: `string`
**description**: css color for terminal background
**default**: `'#151515'`
- #### `forground`
**type**: `string`
**description**: css color for any unformatted string provided in `data`
### `style`
**type**: `object`
**description**: css properties for terminal output
- #### `fontSize`
**type**: `number`
**description**: font size
- #### `fontWeight`
**type**: `string`
**description**: font weight
- #### `fontFamily`
**type**: `string`
**description**: font family
### `viewport`
**type**: `object`
**description**: viewport of terminal
**default**: `{ width: 700, height: 600 }`
- #### `width`
**type**: `number`
**description**: viewport width
- #### `height`
**type**: `number`
**description**: viewport height

# examples
```javascript
await shellfie(["\x1b[32mGreen line", "\x1b[31;1mRED bold"], { name: 'small', viewport: { width: 200, height: 200 } });
```

```javascript
const testResults = [
"[2K[1G[1myarn run v1.22.5[22m",
"[2K[1G[2m$ mocha --no-timeouts tests/ --colors[22m",
"",
"[0m[0m",
"[0m shellfie[0m",
" [32m âś“[0m[90m should support array of string and output a png file[0m[31m (1106ms)[0m",
" [32m âś“[0m[90m should show into img[0m[31m (983ms)[0m",
" [32m âś“[0m[90m should support custom viewport[0m[31m (982ms)[0m",
" [32m âś“[0m[90m should support long raw output[0m[31m (2287ms)[0m",
" [32m âś“[0m[90m should support raw string[0m[31m (1087ms)[0m",
" [32m âś“[0m[90m should support complex string[0m[31m (1079ms)[0m",
" [32m âś“[0m[90m should support different font family[0m[31m (5541ms)[0m",
" [32m âś“[0m[90m should support chartscii fancy example[0m[31m (1123ms)[0m",
" [32m âś“[0m[90m should support fancy unsplitted[0m[31m (1082ms)[0m",
" [32m âś“[0m[90m should support string output[0m[31m (947ms)[0m",
" [32m âś“[0m[90m should magically work with magic numbers[0m[31m (1945ms)[0m",
" [32m âś“[0m[90m should work with lolcat[0m[31m (1102ms)[0m",
"",
"",
"[92m [0m[32m 12 passing[0m[90m (19s)[0m",
"",
"[2K[1GDone in 19.60s.",
];
await shellfie(testResults, { name: 'fira', style: { fontFamily: 'Fira Code', fontWeight: 'bold' } });
await shellfie(testResults, { name: 'monospace', style: { fontFamily: 'monospace' } });
await shellfie(testResults, { name: 'monaco', style: { fontFamily: 'Monaco' } });
```



### raw mode
```javascript
const string = `
cristal [38;2;189;255;243mâ– [39m[38;2;187;254;241mâ– [39m[38;2;184;252;239mâ– [39m[38;2;182;251;237mâ– [39m[38;2;179;250;235mâ– [39m[38;2;177;249;234mâ– [39m[38;2;174;247;232mâ– [39m[38;2;172;246;230mâ– [39m[38;2;169;245;228mâ– [39m[38;2;167;243;226mâ– [39m[38;2;165;242;224mâ– [39m[38;2;162;241;222mâ– [39m[38;2;160;239;220mâ– [39m[38;2;157;238;218mâ– [39m[38;2;155;237;216mâ– [39m[38;2;152;236;215mâ– [39m[38;2;150;234;213mâ– [39m[38;2;147;233;211mâ– [39m[38;2;145;232;209mâ– [39m[38;2;143;230;207mâ– [39m[38;2;140;229;205mâ– [39m[38;2;138;228;203mâ– [39m[38;2;135;226;201mâ– [39m[38;2;133;225;199mâ– [39m[38;2;130;224;198mâ– [39m[38;2;128;223;196mâ– [39m[38;2;125;221;194mâ– [39m[38;2;123;220;192mâ– [39m[38;2;120;219;190mâ– [39m[38;2;118;217;188mâ– [39m[38;2;116;216;186mâ– [39m[38;2;113;215;184mâ– [39m[38;2;111;213;182mâ– [39m[38;2;108;212;181mâ– [39m[38;2;106;211;179mâ– [39m[38;2;103;210;177mâ– [39m[38;2;101;208;175mâ– [39m[38;2;98;207;173mâ– [39m[38;2;96;206;171mâ– [39m[38;2;94;204;169mâ– [39m[38;2;91;203;167mâ– [39m[38;2;89;202;165mâ– [39m[38;2;86;200;163mâ– [39m[38;2;84;199;162mâ– [39m[38;2;81;198;160mâ– [39m[38;2;79;197;158mâ– [39m[38;2;76;195;156mâ– [39m[38;2;74;194;154mâ– [39m
teen [38;2;119;161;211mâ– [39m[38;2;119;163;211mâ– [39m[38;2;119;165;210mâ– [39m[38;2;119;166;210mâ– [39m[38;2;119;168;209mâ– [39m[38;2;119;170;209mâ– [39m[38;2;120;172;209mâ– [39m[38;2;120;174;208mâ– [39m[38;2;120;176;208mâ– [39m[38;2;120;177;207mâ– [39m[38;2;120;179;207mâ– [39m[38;2;120;181;207mâ– [39m[38;2;120;183;206mâ– [39m[38;2;120;185;206mâ– [39m[38;2;120;187;206mâ– [39m[38;2;120;188;205mâ– [39m[38;2;120;190;205mâ– [39m[38;2;120;192;204mâ– [39m[38;2;121;194;204mâ– [39m[38;2;121;196;204mâ– [39m[38;2;121;198;203mâ– [39m[38;2;121;199;203mâ– [39m[38;2;121;201;202mâ– [39m[38;2;121;203;202mâ– [39m[38;2;126;200;201mâ– [39m[38;2;130;197;200mâ– [39m[38;2;135;194;199mâ– [39m[38;2;139;191;197mâ– [39m[38;2;144;188;196mâ– [39m[38;2;148;185;195mâ– [39m[38;2;153;182;194mâ– [39m[38;2;157;179;193mâ– [39m[38;2;162;176;192mâ– [39m[38;2;166;173;190mâ– [39m[38;2;171;170;189mâ– [39m[38;2;176;168;188mâ– [39m[38;2;180;165;187mâ– [39m[38;2;185;162;186mâ– [39m[38;2;189;159;185mâ– [39m[38;2;194;156;183mâ– [39m[38;2;198;153;182mâ– [39m[38;2;203;150;181mâ– [39m[38;2;207;147;180mâ– [39m[38;2;212;144;179mâ– [39m[38;2;216;141;178mâ– [39m[38;2;221;138;176mâ– [39m[38;2;225;135;175mâ– [39m[38;2;230;132;174mâ– [39m
mind [38;2;71;59;123mâ– [39m[38;2;70;62;125mâ– [39m[38;2;69;65;127mâ– [39m[38;2;69;69;129mâ– [39m[38;2;68;72;131mâ– [39m[38;2;67;75;133mâ– [39m[38;2;66;78;134mâ– [39m[38;2;66;81;136mâ– [39m[38;2;65;84;138mâ– [39m[38;2;64;88;140mâ– [39m[38;2;63;91;142mâ– [39m[38;2;62;94;144mâ– [39m[38;2;62;97;146mâ– [39m[38;2;61;100;148mâ– [39m[38;2;60;103;150mâ– [39m[38;2;59;107;152mâ– [39m[38;2;58;110;154mâ– [39m[38;2;58;113;156mâ– [39m[38;2;57;116;157mâ– [39m[38;2;56;119;159mâ– [39m[38;2;55;122;161mâ– [39m[38;2;55;126;163mâ– [39m[38;2;54;129;165mâ– [39m[38;2;53;132;167mâ– [39m[38;2;53;135;168mâ– [39m[38;2;53;139;169mâ– [39m[38;2;52;142;170mâ– [39m[38;2;52;145;171mâ– [39m[38;2;52;148;172mâ– [39m[38;2;52;152;173mâ– [39m[38;2;52;155;174mâ– [39m[38;2;51;158;175mâ– [39m[38;2;51;161;176mâ– [39m[38;2;51;165;177mâ– [39m[38;2;51;168;178mâ– [39m[38;2;51;171;179mâ– [39m[38;2;50;174;179mâ– [39m[38;2;50;178;180mâ– [39m[38;2;50;181;181mâ– [39m[38;2;50;184;182mâ– [39m[38;2;49;187;183mâ– [39m[38;2;49;191;184mâ– [39m[38;2;49;194;185mâ– [39m[38;2;49;197;186mâ– [39m[38;2;49;200;187mâ– [39m[38;2;48;204;188mâ– [39m[38;2;48;207;189mâ– [39m[38;2;48;210;190mâ– [39m
morning [38;2;255;95;109mâ– [39m[38;2;255;95;107mâ– [39m[38;2;255;96;105mâ– [39m[38;2;255;96;103mâ– [39m[38;2;255;97;101mâ– [39m[38;2;255;97;100mâ– [39m[38;2;255;97;98mâ– [39m[38;2;255;100;98mâ– [39m[38;2;255;102;98mâ– [39m[38;2;255;105;98mâ– [39m[38;2;255;107;99mâ– [39m[38;2;255;110;99mâ– [39m[38;2;255;112;100mâ– [39m[38;2;255;115;100mâ– [39m[38;2;255;117;100mâ– [39m[38;2;255;120;101mâ– [39m[38;2;255;123;101mâ– [39m[38;2;255;125;102mâ– [39m[38;2;255;127;102mâ– [39m[38;2;255;130;102mâ– [39m[38;2;255;132;103mâ– [39m[38;2;255;135;103mâ– [39m[38;2;255;137;103mâ– [39m[38;2;255;140;104mâ– [39m[38;2;255;142;104mâ– [39m[38;2;255;145;105mâ– [39m[38;2;255;147;105mâ– [39m[38;2;255;149;105mâ– [39m[38;2;255;152;106mâ– [39m[38;2;255;154;106mâ– [39m[38;2;255;157;107mâ– [39m[38;2;255;159;107mâ– [39m[38;2;255;161;107mâ– [39m[38;2;255;164;108mâ– [39m[38;2;255;166;108mâ– [39m[38;2;255;168;108mâ– [39m[38;2;255;170;109mâ– [39m[38;2;255;173;109mâ– [39m[38;2;255;175;110mâ– [39m[38;2;255;177;110mâ– [39m[38;2;255;180;110mâ– [39m[38;2;255;182;111mâ– [39m[38;2;255;184;111mâ– [39m[38;2;255;186;111mâ– [39m[38;2;255;188;112mâ– [39m[38;2;255;191;112mâ– [39m[38;2;255;193;113mâ– [39m[38;2;255;195;113mâ– [39m
vice [38;2;94;231;223mâ– [39m[38;2;95;230;227mâ– [39m[38;2;96;228;230mâ– [39m[38;2;98;223;229mâ– [39m[38;2;99;218;229mâ– [39m[38;2;100;213;228mâ– [39m[38;2;101;208;227mâ– [39m[38;2;103;203;227mâ– [39m[38;2;104;198;226mâ– [39m[38;2;105;194;225mâ– [39m[38;2;106;189;225mâ– [39m[38;2;107;185;224mâ– [39m[38;2;108;181;224mâ– [39m[38;2;110;177;223mâ– [39m[38;2;111;173;222mâ– [39m[38;2;112;169;222mâ– [39m[38;2;113;166;221mâ– [39m[38;2;114;162;220mâ– [39m[38;2;115;159;220mâ– [39m[38;2;116;155;219mâ– [39m[38;2;117;152;219mâ– [39m[38;2;119;149;218mâ– [39m[38;2;120;146;217mâ– [39m[38;2;121;143;217mâ– [39m[38;2;122;141;216mâ– [39m[38;2;123;138;216mâ– [39m[38;2;124;136;215mâ– [39m[38;2;125;133;214mâ– [39m[38;2;126;131;214mâ– [39m[38;2;127;129;213mâ– [39m[38;2;129;128;212mâ– [39m[38;2;133;129;212mâ– [39m[38;2;137;130;211mâ– [39m[38;2;141;131;211mâ– [39m[38;2;144;132;210mâ– [39m[38;2;148;133;209mâ– [39m[38;2;151;134;209mâ– [39m[38;2;154;135;208mâ– [39m[38;2;157;136;208mâ– [39m[38;2;160;137;207mâ– [39m[38;2;163;138;206mâ– [39m[38;2;166;139;206mâ– [39m[38;2;169;140;205mâ– [39m[38;2;171;140;204mâ– [39m[38;2;173;141;204mâ– [39m[38;2;176;142;203mâ– [39m[38;2;178;143;203mâ– [39m[38;2;180;144;202mâ– [39m
passion [38;2;244;59;71mâ– [39m[38;2;240;59;73mâ– [39m[38;2;237;59;74mâ– [39m[38;2;233;59;76mâ– [39m[38;2;229;59;78mâ– [39m[38;2;225;59;79mâ– [39m[38;2;222;59;81mâ– [39m[38;2;218;59;82mâ– [39m[38;2;214;59;84mâ– [39m[38;2;210;59;86mâ– [39m[38;2;207;59;87mâ– [39m[38;2;203;59;89mâ– [39m[38;2;199;59;91mâ– [39m[38;2;196;59;92mâ– [39m[38;2;192;59;94mâ– [39m[38;2;188;59;96mâ– [39m[38;2;184;59;97mâ– [39m[38;2;181;59;99mâ– [39m[38;2;177;59;100mâ– [39m[38;2;173;59;102mâ– [39m[38;2;170;59;104mâ– [39m[38;2;166;59;105mâ– [39m[38;2;162;59;107mâ– [39m[38;2;158;59;109mâ– [39m[38;2;155;58;110mâ– [39m[38;2;151;58;112mâ– [39m[38;2;147;58;114mâ– [39m[38;2;143;58;115mâ– [39m[38;2;140;58;117mâ– [39m[38;2;136;58;119mâ– [39m[38;2;132;58;120mâ– [39m[38;2;129;58;122mâ– [39m[38;2;125;58;123mâ– [39m[38;2;121;58;125mâ– [39m[38;2;117;58;127mâ– [39m[38;2;114;58;128mâ– [39m[38;2;110;58;130mâ– [39m[38;2;106;58;132mâ– [39m[38;2;103;58;133mâ– [39m[38;2;99;58;135mâ– [39m[38;2;95;58;137mâ– [39m[38;2;91;58;138mâ– [39m[38;2;88;58;140mâ– [39m[38;2;84;58;141mâ– [39m[38;2;80;58;143mâ– [39m[38;2;76;58;145mâ– [39m[38;2;73;58;146mâ– [39m[38;2;69;58;148mâ– [39m
fruit [38;2;255;78;80mâ– [39m[38;2;255;81;79mâ– [39m[38;2;255;84;78mâ– [39m[38;2;255;87;77mâ– [39m[38;2;254;89;76mâ– [39m[38;2;254;92;75mâ– [39m[38;2;254;95;74mâ– [39m[38;2;254;98;73mâ– [39m[38;2;254;101;72mâ– [39m[38;2;254;104;71mâ– [39m[38;2;254;107;70mâ– [39m[38;2;254;109;69mâ– [39m[38;2;253;112;69mâ– [39m[38;2;253;115;68mâ– [39m[38;2;253;118;67mâ– [39m[38;2;253;121;66mâ– [39m[38;2;253;124;65mâ– [39m[38;2;253;126;64mâ– [39m[38;2;253;129;63mâ– [39m[38;2;253;132;62mâ– [39m[38;2;252;135;61mâ– [39m[38;2;252;138;60mâ– [39m[38;2;252;141;59mâ– [39m[38;2;252;144;58mâ– [39m[38;2;252;146;57mâ– [39m[38;2;252;149;56mâ– [39m[38;2;252;152;55mâ– [39m[38;2;252;155;54mâ– [39m[38;2;251;158;53mâ– [39m[38;2;251;161;52mâ– [39m[38;2;251;164;51mâ– [39m[38;2;251;166;50mâ– [39m[38;2;251;169;49mâ– [39m[38;2;251;172;48mâ– [39m[38;2;251;175;47mâ– [39m[38;2;251;178;46mâ– [39m[38;2;250;181;46mâ– [39m[38;2;250;183;45mâ– [39m[38;2;250;186;44mâ– [39m[38;2;250;189;43mâ– [39m[38;2;250;192;42mâ– [39m[38;2;250;195;41mâ– [39m[38;2;250;198;40mâ– [39m[38;2;250;201;39mâ– [39m[38;2;249;203;38mâ– [39m[38;2;249;206;37mâ– [39m[38;2;249;209;36mâ– [39m[38;2;249;212;35mâ– [39m
instagram [38;2;131;58;180mâ– [39m[38;2;136;57;173mâ– [39m[38;2;142;55;167mâ– [39m[38;2;147;54;160mâ– [39m[38;2;152;53;154mâ– [39m[38;2;158;52;147mâ– [39m[38;2;163;50;141mâ– [39m[38;2;168;49;134mâ– [39m[38;2;173;48;127mâ– [39m[38;2;179;47;121mâ– [39m[38;2;184;45;114mâ– [39m[38;2;189;44;108mâ– [39m[38;2;195;43;101mâ– [39m[38;2;200;42;95mâ– [39m[38;2;205;40;88mâ– [39m[38;2;211;39;82mâ– [39m[38;2;216;38;75mâ– [39m[38;2;221;37;68mâ– [39m[38;2;226;35;62mâ– [39m[38;2;232;34;55mâ– [39m[38;2;237;33;49mâ– [39m[38;2;242;32;42mâ– [39m[38;2;248;30;36mâ– [39m[38;2;253;29;29mâ– [39m[38;2;253;35;31mâ– [39m[38;2;253;41;32mâ– [39m[38;2;253;47;34mâ– [39m[38;2;253;54;36mâ– [39m[38;2;253;60;37mâ– [39m[38;2;253;66;39mâ– [39m[38;2;253;72;41mâ– [39m[38;2;253;78;42mâ– [39m[38;2;253;84;44mâ– [39m[38;2;253;90;46mâ– [39m[38;2;253;96;47mâ– [39m[38;2;253;103;49mâ– [39m[38;2;252;109;51mâ– [39m[38;2;252;115;52mâ– [39m[38;2;252;121;54mâ– [39m[38;2;252;127;56mâ– [39m[38;2;252;133;57mâ– [39m[38;2;252;139;59mâ– [39m[38;2;252;145;61mâ– [39m[38;2;252;152;62mâ– [39m[38;2;252;158;64mâ– [39m[38;2;252;164;66mâ– [39m[38;2;252;170;67mâ– [39m[38;2;252;176;69mâ– [39m
atlas [38;2;254;172;94mâ– [39m[38;2;252;170;99mâ– [39m[38;2;249;168;104mâ– [39m[38;2;247;165;109mâ– [39m[38;2;244;163;114mâ– [39m[38;2;242;161;119mâ– [39m[38;2;240;159;124mâ– [39m[38;2;237;156;129mâ– [39m[38;2;235;154;134mâ– [39m[38;2;232;152;139mâ– [39m[38;2;230;150;144mâ– [39m[38;2;228;148;149mâ– [39m[38;2;225;145;153mâ– [39m[38;2;223;143;158mâ– [39m[38;2;221;141;163mâ– [39m[38;2;218;139;168mâ– [39m[38;2;216;137;173mâ– [39m[38;2;213;134;178mâ– [39m[38;2;211;132;183mâ– [39m[38;2;209;130;188mâ– [39m[38;2;206;128;193mâ– [39m[38;2;204;125;198mâ– [39m[38;2;201;123;203mâ– [39m[38;2;199;121;208mâ– [39m[38;2;194;124;208mâ– [39m[38;2;189;127;207mâ– [39m[38;2;184;130;207mâ– [39m[38;2;178;133;207mâ– [39m[38;2;173;136;206mâ– [39m[38;2;168;139;206mâ– [39m[38;2;163;142;206mâ– [39m[38;2;158;145;205mâ– [39m[38;2;153;148;205mâ– [39m[38;2;147;151;205mâ– [39m[38;2;142;154;204mâ– [39m[38;2;137;157;204mâ– [39m[38;2;132;159;204mâ– [39m[38;2;127;162;203mâ– [39m[38;2;122;165;203mâ– [39m[38;2;116;168;203mâ– [39m[38;2;111;171;202mâ– [39m[38;2;106;174;202mâ– [39m[38;2;101;177;202mâ– [39m[38;2;96;180;201mâ– [39m[38;2;91;183;201mâ– [39m[38;2;85;186;201mâ– [39m[38;2;80;189;200mâ– [39m[38;2;75;192;200mâ– [39m
retro [38;2;63;81;177mâ– [39m[38;2;68;82;176mâ– [39m[38;2;74;83;176mâ– [39m[38;2;79;83;175mâ– [39m[38;2;85;84;175mâ– [39m[38;2;90;85;174mâ– [39m[38;2;96;87;174mâ– [39m[38;2;101;88;173mâ– [39m[38;2;107;90;173mâ– [39m[38;2;112;92;173mâ– [39m[38;2;118;93;172mâ– [39m[38;2;123;95;172mâ– [39m[38;2;126;97;172mâ– [39m[38;2;130;99;173mâ– [39m[38;2;133;101;173mâ– [39m[38;2;136;102;173mâ– [39m[38;2;140;104;174mâ– [39m[38;2;143;106;174mâ– [39m[38;2;147;106;172mâ– [39m[38;2;151;106;171mâ– [39m[38;2;156;106;169mâ– [39m[38;2;160;106;167mâ– [39m[38;2;164;106;166mâ– [39m[38;2;168;106;164mâ– [39m[38;2;174;106;160mâ– [39m[38;2;180;106;157mâ– [39m[38;2;186;107;153mâ– [39m[38;2;192;107;149mâ– [39m[38;2;198;107;146mâ– [39m[38;2;204;107;142mâ– [39m[38;2;210;111;137mâ– [39m[38;2;216;115;132mâ– [39m[38;2;223;119;128mâ– [39m[38;2;229;122;123mâ– [39m[38;2;235;126;118mâ– [39m[38;2;241;130;113mâ– [39m[38;2;241;136;112mâ– [39m[38;2;242;141;110mâ– [39m[38;2;242;147;109mâ– [39m[38;2;242;153;108mâ– [39m[38;2;243;158;106mâ– [39m[38;2;243;164;105mâ– [39m[38;2;244;170;108mâ– [39m[38;2;244;176;110mâ– [39m[38;2;245;183;113mâ– [39m[38;2;246;189;115mâ– [39m[38;2;246;195;118mâ– [39m[38;2;247;201;120mâ– [39m
summer [38;2;253;187;45mâ– [39m[38;2;248;187;48mâ– [39m[38;2;244;187;51mâ– [39m[38;2;239;187;55mâ– [39m[38;2;234;188;58mâ– [39m[38;2;230;188;61mâ– [39m[38;2;225;188;64mâ– [39m[38;2;220;188;67mâ– [39m[38;2;216;188;71mâ– [39m[38;2;211;188;74mâ– [39m[38;2;206;188;77mâ– [39m[38;2;202;188;80mâ– [39m[38;2;197;189;83mâ– [39m[38;2;192;189;86mâ– [39m[38;2;188;189;90mâ– [39m[38;2;183;189;93mâ– [39m[38;2;178;189;96mâ– [39m[38;2;174;189;99mâ– [39m[38;2;169;189;102mâ– [39m[38;2;164;189;106mâ– [39m[38;2;160;190;109mâ– [39m[38;2;155;190;112mâ– [39m[38;2;150;190;115mâ– [39m[38;2;146;190;118mâ– [39m[38;2;141;190;122mâ– [39m[38;2;137;190;125mâ– [39m[38;2;132;190;128mâ– [39m[38;2;127;190;131mâ– [39m[38;2;123;191;134mâ– [39m[38;2;118;191;138mâ– [39m[38;2;113;191;141mâ– [39m[38;2;109;191;144mâ– [39m[38;2;104;191;147mâ– [39m[38;2;99;191;150mâ– [39m[38;2;95;191;154mâ– [39m[38;2;90;191;157mâ– [39m[38;2;85;192;160mâ– [39m[38;2;81;192;163mâ– [39m[38;2;76;192;166mâ– [39m[38;2;71;192;169mâ– [39m[38;2;67;192;173mâ– [39m[38;2;62;192;176mâ– [39m[38;2;57;192;179mâ– [39m[38;2;53;192;182mâ– [39m[38;2;48;193;185mâ– [39m[38;2;43;193;189mâ– [39m[38;2;39;193;192mâ– [39m[38;2;34;193;195mâ– [39m
pastel [38;2;116;235;213mâ– [39m[38;2;116;235;228mâ– [39m[38;2;116;227;235mâ– [39m[38;2;116;212;235mâ– [39m[38;2;116;196;235mâ– [39m[38;2;116;181;235mâ– [39m[38;2;116;166;235mâ– [39m[38;2;116;151;235mâ– [39m[38;2;116;136;235mâ– [39m[38;2;116;120;235mâ– [39m[38;2;127;116;235mâ– [39m[38;2;142;116;235mâ– [39m[38;2;157;116;235mâ– [39m[38;2;172;116;235mâ– [39m[38;2;188;116;235mâ– [39m[38;2;203;116;235mâ– [39m[38;2;218;116;235mâ– [39m[38;2;233;116;235mâ– [39m[38;2;235;116;222mâ– [39m[38;2;235;116;207mâ– [39m[38;2;235;116;192mâ– [39m[38;2;235;116;177mâ– [39m[38;2;235;116;161mâ– [39m[38;2;235;116;146mâ– [39m[38;2;235;116;131mâ– [39m[38;2;236;116;116mâ– [39m[38;2;236;132;116mâ– [39m[38;2;236;147;116mâ– [39m[38;2;236;162;116mâ– [39m[38;2;236;177;116mâ– [39m[38;2;236;193;116mâ– [39m[38;2;236;208;116mâ– [39m[38;2;236;223;116mâ– [39m[38;2;233;236;116mâ– [39m[38;2;218;236;116mâ– [39m[38;2;202;236;116mâ– [39m[38;2;187;236;116mâ– [39m[38;2;172;236;116mâ– [39m[38;2;157;236;116mâ– [39m[38;2;141;236;116mâ– [39m[38;2;126;236;116mâ– [39m[38;2;116;236;121mâ– [39m[38;2;116;236;136mâ– [39m[38;2;116;236;152mâ– [39m[38;2;116;236;167mâ– [39m[38;2;116;236;182mâ– [39m[38;2;116;236;198mâ– [39m[38;2;116;236;213mâ– [39m
rainbow [38;2;255;0;0mâ– [39m[38;2;255;0;33mâ– [39m[38;2;255;0;65mâ– [39m[38;2;255;0;98mâ– [39m[38;2;255;0;130mâ– [39m[38;2;255;0;163mâ– [39m[38;2;255;0;195mâ– [39m[38;2;255;0;228mâ– [39m[38;2;250;0;255mâ– [39m[38;2;217;0;255mâ– [39m[38;2;185;0;255mâ– [39m[38;2;152;0;255mâ– [39m[38;2;120;0;255mâ– [39m[38;2;87;0;255mâ– [39m[38;2;55;0;255mâ– [39m[38;2;22;0;255mâ– [39m[38;2;0;11;255mâ– [39m[38;2;0;43;255mâ– [39m[38;2;0;76;255mâ– [39m[38;2;0;108;255mâ– [39m[38;2;0;141;255mâ– [39m[38;2;0;173;255mâ– [39m[38;2;0;206;255mâ– [39m[38;2;0;238;255mâ– [39m[38;2;0;255;239mâ– [39m[38;2;0;255;207mâ– [39m[38;2;0;255;174mâ– [39m[38;2;0;255;142mâ– [39m[38;2;0;255;109mâ– [39m[38;2;0;255;77mâ– [39m[38;2;0;255;44mâ– [39m[38;2;0;255;12mâ– [39m[38;2;21;255;0mâ– [39m[38;2;54;255;0mâ– [39m[38;2;86;255;0mâ– [39m[38;2;119;255;0mâ– [39m[38;2;151;255;0mâ– [39m[38;2;184;255;0mâ– [39m[38;2;216;255;0mâ– [39m[38;2;249;255;0mâ– [39m[38;2;255;229;0mâ– [39m[38;2;255;196;0mâ– [39m[38;2;255;164;0mâ– [39m[38;2;255;131;0mâ– [39m[38;2;255;99;0mâ– [39m[38;2;255;66;0mâ– [39m[38;2;255;34;0mâ– [39m[38;2;255;1;0mâ– [39m
`
await shellfie(string, { name: 'gradient', mode: 'raw', viewport: {width: 600, height: 350} });
```

### bash colors
```javascript
const shellfie = require('shellfie');
let backgroundColors = '';
for (let i = 0; i < 255; i++) {
backgroundColors += `\x1b[48;5;${i}m ${i}\x1b[0m`;
}
await shellfie(backgroundColors, { name: 'background', viewport: {width: 500, height: 400} });
```