Skip to content

crayon-js/crayon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

deno github workflow npm package publishing workflow coverage percentage of crayon doc.deno.land badge for crayon size of mod.ts

Crayon logo: Totally not creppy humanized crayon staring and waving hand at you

๐Ÿ–๏ธ Crayon

๐Ÿ“š About

Crayon is terminal styling module written in Typescript.

From the ground up its goals is to be fast, relatively lightweight and modular.

๐Ÿ–๏ธ Crayon.js offers:

  • โšก High performance
  • ๐Ÿ“ฆ No dependencies
  • ๐Ÿง‘โ€๐Ÿ’ป Good code quality
  • ๐Ÿ—‘๏ธ Modularity (no unnecessary code)
  • ๐Ÿง Familiar API (chalk-like)
  • ๐Ÿฆ„ Automatic color fallbacking
    • ๐ŸŽจ Automatic color detection via color_support extension
  • ๐Ÿ”— Supported nesting & chaining
  • ๐Ÿชข Not extending String.prototype
  • ๐ŸŒˆ 24bit (16.7m -ย truecolor) and 8bit (256 - highcolor) color support

โš™๏ธ Usage

  • On deno:
// Remember to replace "version" with semver version
import { crayon } from "https://deno.land/x/crayon@version/mod.ts";

console.log(crayon.red("its red!"));
  • On node:
import { crayon } from "crayon.js";

console.log(crayon.red("its red!"));

๐Ÿงฉ Extensions

To add new functionality to Crayon you can use ready or create your own extensions.

Crayon's extensions are stored in src/extensions

๐Ÿค Contributing

Crayon is open for any contributions.
If you feel like you can enhance this project - please open an issue and/or pull request.
Code should be well document and easy to follow what's going on.

Since the start of development on Crayon 3.0 this project follows conventional commits spec.
If your pull request's code could introduce understandability trouble, please add comments to it.

๐Ÿ“ Licensing

This project is available under MIT License conditions.