isomorphic-lolcat

0.3.0 • Public • Published

Isomorphic Lolcat

Small library based on lolcatjs that can be used in Node.js or Browser, to render gradient text.

Rainbow color ASCII art

Demo.

Installation

npm install isomorphic-lolcat

Usage

Node

const lolcat = require('isomorphic-lolcat');

Browser

<script src="https://cdn.jsdelivr.net/npm/isomorphic-lolcat"></script>

License

Copyright (C) 2020 Jakub T. Jankiewicz jcubic@onet.pl

Copyright (C) 2015 Robert Boloc robertboloc@gmail.com

Released with WTFPL License

API

  • lolcat.format((char: string, color: color) => string, input: string, (line: number) => void): string[]

Low lovel function, first argument, is a function that is called on each character. First argument to function is single character, second is object with red, green and blue properties of type number.

Return array of string value is single lolcat string.

Example

const styles = [];
let i = 20;
const o = rand(256);
function eachLine() {
  i -= 1;
  lolcat.options.seed = o + i;
}

function rand(max) {
    return Math.floor(Math.random() * (max + 1));
}

// render Style console in Browser
console.log(lolcat.format(function(char, color) {
    styles.push(`color: ${hex(color)}; background: black`);
    return `%c${char}`;
}, 'Lorem Ipsum Dolor Sit Amet', eachLine), ...styles);
  • lolcat.rainbow((char: string, color: Color) => string, input: string, seed: number): string[]

Shortcut using above example that use default seed for each line:

const styles = [];

function format(char, color) {
    styles.push(`color: ${hex(color)}; background: black`);
    return `%c${char}`;
}

console.log(lolcat.rainbow(format, 'Lorem Ipsum Dolor Sit Amet').join('\n'), ...styles);
  • lolcat.options
options: {
    // Seed of the rainbow, use the same for the same pattern
    seed: 0,
    // Spread of the rainbow
    spread: 8.0,
    // Frequency of the rainbow colors
    freq: 0.3,
}

Package Sidebar

Install

npm i isomorphic-lolcat

Weekly Downloads

30

Version

0.3.0

License

WTFPL

Unpacked Size

5.94 kB

Total Files

4

Last publish

Collaborators

  • jcubic