Novice, Paragon, Master

    styleme

    3.0.0 • Public • Published

    NPM styleme

    Print to the console in style.

    Installation

    npm install styleme@3

    Usage

    const StyleMe = require('styleme')
    
    // It is recommended to extend the `String` prototype methods for convenience.
    StyleMe.extend()

    There are four methods to use this module

    1. Chaining properties/methods

    console.log(StyleMe.red("a string"))
    console.log(StyleMe.red.bgBlue("another string"))

    2. The StyleMe Method

    console.log(StyleMe.styleMe("some text","red,bgBlue")) // red text with blue background
    console.log(StyleMe.styleMe("same text",["red", "bgBlue"])) // also red text with blue background

    3. The Inline StyleMe Method

    console.log(StyleMe.styleMe("This is normal [red]{this is red [blue]{this is blue} back to red}"))
    console.log(StyleMe.styleMe("[blue,bgRed]{This is blue with a red background}"))

    4. String.prototype extensions

    // Chaining
    console.log("a string".red())
    console.log("another string".red().bgBlue())
    
    // StyleMe
    console.log("some text".styleMe("red,bgBlue"))
    
    // Inline StyleMe
    console.log("This is normal [red]{this is red [blue]{this is blue} back to red}".styleMe())

    Color Codes

    These color codes are available for use:

    Color Code
    reset
    bright
    dim
    underline
    strikethrough
    blink
    reverse
    hidden
    black
    red
    green
    yellow
    blue
    magenta
    cyan
    white
    bgBlack
    bgRed
    bgGreen
    bgYellow
    bgBlue
    bgMagenta
    bgCyan
    bgWhite
    clear

    Special Codes (from Colors.js) are also supported

    Stye Code
    america
    rainbow
    random
    blacknwhite

    Adding Colors

    StyleMe.addStyle(code, style)

    You can add your own colors using this function. Example:

    StyleMe.addStyle("lol","\x1b[5m");

    Adding Special Styles

    StyleMe.addSpecial(code,function)

    You can add your own special styles using this function. Example:

    StyleMe.addStyle("rednblue", (char, index, colors) => { // colors => a object where you can get colors without using ansi codes
        switch (index % 2) { // Red and blue inverse pattern
            case 0:
                return colors.bgBlue + colors.red + char;
            case 1:
                return colors.bgRed + colors.blue + char
        }
    });

    Please note that you cannot use colors[index]. You must use colors.colorcode instead

    Adding Themes

    Themes allow you to use multiple colors/aliases at the same.

    // Set the theme
    StyleMe.setTheme({
        rnb: ["red", "bgBlue"], // red and blue background
        ynr: ["yellow", "bgMagenta"], // yellow and magenta background
    })
    
    // Can use it now!
    console.log(StyleMe.rnb("test"))

    API

    Table of Contents

    StyleMe

    src/StyleMe.js:10-303

    StyleMe

    Static class that is used to easily add colors to console outputs.

    style

    src/StyleMe.js:19-53

    Styles the given string according to the given style codes.

    Parameters

    • str String String to style
    • styleCodes (String | Array) Comma seperated list (or array) of style codes.
    • Throws any Will throw error if an invalid style code is provided.

    Returns String Styled output

    styleInline

    src/StyleMe.js:62-177

    Styles a string with inline style markers

    Parameters

    • str String String to style with inline style markers
    • Throws any Will give error if braces are mismatched.

    Returns String Returns the styled string

    styleMe

    src/StyleMe.js:187-193

    Styles the given string according to the given style codes if given and uses inline style markers otherwise.

    Parameters

    • str String String to style
    • styleCodes (String | Array)? Optional comma seperated list (or array) of style codes.
    • Throws any Will throw error if an invalid style code is provided or if braces are mismatched.

    Returns String Styled output

    extend

    src/StyleMe.js:198-223

    Extends String.prototype with helper methods that can be used to easily style a string

    flattenStyle

    src/StyleMe.js:232-256

    Flattens an array style into a single array

    Parameters

    • Throws any Error if style code not found or if invalid

    Returns Array Flattened array

    addStyle

    src/StyleMe.js:272-292

    Adds a style

    Parameters

    setTheme

    src/StyleMe.js:298-302

    Sets a theme

    Parameters

    code

    src/StyleMe.js:207-209

    Styles the string according to the method's code

    Returns String

    styleMe

    src/StyleMe.js:220-222

    Styles the string according to the given style codes if given and uses inline style markers otherwise.

    Parameters

    • Throws any Will throw error if an invalid style code is provided or if braces are mismatched.

    Returns String Styled string

    styleCode

    src/StyleMe.js:288-290

    Styles the string according to the method's code

    Returns String

    SpecialStyleFn

    src/StyleMe.js:272-292

    A function that adds styling to individual characters

    Type: Function

    Parameters

    • char char Character involved
    • index number Index of the character
    • styles Object Object containing the styles as properties.

    Returns any Should return the styled character.

    recursiveProxy

    src/StyleMe.js:311-328

    Wraps objects with a Proxy for code chaining

    Parameters

    Styles

    styles/Styles.js:6-36

    The colors/styles defined. ASCII codes reference: https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797

    Can be a string or function.

    Install

    npm i styleme

    DownloadsWeekly Downloads

    66

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    30.1 kB

    Total Files

    10

    Last publish

    Collaborators

    • andrews54757