storybook/scripts/logo.js

64 lines
6.2 KiB
JavaScript
Raw Normal View History

const coloured = `
`;
const mono = `
`;
const chalkMap = {
P: '\\033[38;5;176m',
M: '\\033[38;5;211m',
W: '\\033[38;5;231m',
B: '\\033[38;5;111m',
G: '\\033[38;5;150m',
R: '\\033[38;5;210m',
m: '\\033[38;5;211m',
l: '\\033[38;5;225m',
O: '\\033[38;5;215m',
' ': '',
};
const colourmap = `
PPMMMMMMMMMMMWWMM
PPMMMMMMMMMMMllMM
PPMMMMlWWWWWmMMMM OOO RRR PPP
PPMMMlWWWMmWWmMMM OOOOO GGGG PP BB RRRRR BBB GGG PPP P
PPMMMMWWWlmMMMMMM OOOOOOGGGGGGG PPPPPBBB BB RRRRRRR BBBBBBB GGGGGGG PPPPPPPP
PMMMMMmlWWWWMMMM OO GGG GGG PPP BBB BB RR RRRBBB BBB GGG GGG PPPPPP
PMMMWWWmMlWWWMMM OO GGGGGGG PP BBBBBBB RRRRRRR BBBBBBB GGGGGGG PPPPPPPP
PMMMMlWWWWWlMMMM OO GGGG PP BB BBB RR RR BBBB GGGG PPP PPP
PMMMMMMMMMMMMMMM BBBBBB
PMMMMMMMMMMMMMMM
`.split('');
const result = coloured.split('').map((char, index) => {
const colorKey = colourmap[index];
const colorPrefix = chalkMap[colorKey] || '';
return colorPrefix + char;
});
const exec = require('child_process').exec;
exec(`printf "%b" "${result.join('')}\\033[0m"`, {}).stdout.pipe(process.stdout);
exec(`printf "%b" "${mono}"`, {}).stdout.pipe(process.stdout);