UNPKG

ciallorize

Version:

Ciallorize your bundled js into ascii art.

58 lines (48 loc) 4.11 kB
# <span style="color: #FF9AA2;">C</span><span style="color: #FFD166;">i</span><span style="color: #06D6A0;">a</span><span style="color: #118AB2;">l</span><span style="color: #B8B8FF;">l</span><span style="color: #FF9AA2;">o</span><span style="color: #FFD166;">r</span><span style="color: #06D6A0;">i</span><span style="color: #118AB2;">z</span><span style="color: #B8B8FF;">e</span> Your Code into ASCII Art! <span style="color: #FF9AA2;">C</span><span style="color: #FFD166;">i</span><span style="color: #06D6A0;">a</span><span style="color: #118AB2;">l</span><span style="color: #B8B8FF;">l</span><span style="color: #FF9AA2;">o</span><span style="color: #FFD166;">r</span><span style="color: #06D6A0;">i</span><span style="color: #118AB2;">z</span><span style="color: #B8B8FF;">e</span> is a JavaScript library that allows you to convert your bundled JS into ASCII art using a binary mask image. ![](https://github.com/z-zeechung/ciallorize/blob/main/imgs/screenshot.png?raw=true) ![](https://github.com/z-zeechung/ciallorize/blob/main/imgs/ciallo.jpg?raw=true) ## To use <span style="color: #FF9AA2;">C</span><span style="color: #FFD166;">i</span><span style="color: #06D6A0;">a</span><span style="color: #118AB2;">l</span><span style="color: #B8B8FF;">l</span><span style="color: #FF9AA2;">o</span><span style="color: #FFD166;">r</span><span style="color: #06D6A0;">i</span><span style="color: #118AB2;">z</span><span style="color: #B8B8FF;">e</span>: ``` bash npm i ciallorize ``` After installation, prepare your bundled JS file and mask image. ## **Requirements for the bundled JS file:​** - The file must consist of a single line with no `\n` line breaks. - The file must contain at least 5,000 characters. - <span style="color: #FF9AA2;">C</span><span style="color: #FFD166;">i</span><span style="color: #06D6A0;">a</span><span style="color: #118AB2;">l</span><span style="color: #B8B8FF;">l</span><span style="color: #FF9AA2;">o</span><span style="color: #FFD166;">r</span><span style="color: #06D6A0;">i</span><span style="color: #118AB2;">z</span><span style="color: #B8B8FF;">e</span> does not guarantee 100% conversion for all JS files. If conversion fails, an error will be thrown, and we apologize for any inconvenience. ## **Requirements for the mask image:​** - Can be in any format supported by sharp.js. - Does not strictly need to be binary. During processing, the image will first be grayscaled, then binarized using a threshold of 128. - Black areas represent where you want text to be filled, while white areas represent where you want spaces to be filled. ## How to call <span style="color: #FF9AA2;">C</span><span style="color: #FFD166;">i</span><span style="color: #06D6A0;">a</span><span style="color: #118AB2;">l</span><span style="color: #B8B8FF;">l</span><span style="color: #FF9AA2;">o</span><span style="color: #FFD166;">r</span><span style="color: #06D6A0;">i</span><span style="color: #118AB2;">z</span><span style="color: #B8B8FF;">e</span>: ``` js const ciallorize = require('ciallorize'); const fs = require('fs'); const code = fs.readFileSync('bundle.js', 'utf-8') .replaceAll('\n', ''); // No line breaks allowed ciallorize( code, 'mask.png', // Path to the mask image { // Optional: Represents the width-to-height ratio of each character fontWidthToHeightRatio: 16/40, // Optional: Represents compensation for the length of the code string characterCompensation: 0.95, } ).then(result=>{ fs.writeFileSync('result.js', result); }) ``` # LICENSE ``` DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. ```