Socket
Socket
Sign inDemoInstall

tfunk

Package Overview
Dependencies
8
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    tfunk

Multi-colour console output from chalk with added awesome


Version published
Weekly downloads
216K
decreased by-1.83%
Maintainers
1
Install size
79.1 kB
Created
Weekly downloads
 

Readme

Source

##tfunk Build Status

Multi-colour console output from Chalk with added awesome.

by @shakyshane & @AydinHassan

tfunk

##Install

npm install tfunk

##Usage

Syntax rules:

{ <color> : YOUR STRING }

Example

{blue:This is a blue line}

} is optional

{blue:This is a blue line <- Perfectly valid

##Usage

var tFunk = require("tfunk");

console.log( tfunk("{cyan:tFunk terminal colours") )

// => tFunk terminal colours

Or get a custom compiler with a set prefix:

var compiler = require("tfunk").Compiler({
    prefix: "[{magenta:tFunk}]"
});

console.log( compiler.compile("tFunk is awesome") );
console.log( compiler.compile("don't you think?") );

// => [tFunk] tFunk is awesome
// => [tFunk] don't you think?

Define your own syntax

You can define your own methods, they receive the string section as the first parameter & have access to the compiler through this.compile() keyword.

var compiler = require("tfunk").Compiler({
    "warn": function(string) {
        return this.compile("{red:WARNING:" + string);
    }
});

Now you can use warn anywhere you like.

console.log( compiler.compile("{warn: Could not file your config file...") );

// => WARNING: Could not file your config file...

##Examples

Here are some comparisons to chalk, to help you understand how to use tFunk.

###Single Colours

// chalk
console.log( chalk.red("This has a single colour") );

// tFunk
console.log( tFunk("{red:This has a single colour") );

###Single Colour mid string

// chalk
console.log( "This has a single colour " + chalk.cyan("that begins mid-string") );

// tFunck
console.log( tFunk("This has a single colour {cyan:that begins mid-string") );

###Single Colour with end point

// chalk
console.log( chalk.red("This has a single colour with ") + "an endpoint");

// tFunk
console.log( tFunk("{red:This has a single colour with }an endpoint") );

###Two Colours

// chalk
console.log( chalk.green("This has ") + chalk.cyan("two colours") );

// tFunk
console.log( tFunk("{green:This has {cyan:two colours") );

###Nested Colours

// chalk
console.log( chalk.green("This has a colour " + chalk.cyan("nested inside") + " another colour") );

//tFunk
console.log( tFunk("{green:This has a colour {cyan:nested inside} another colour") );

###Multiple Nested

// chalk
console.log( chalk.blue("Multiple " + chalk.cyan("NESTED") + " styles in " + chalk.red("the same string") + " with an ending") );

// tFunk
console.log( tFunk("{blue:Multiple {cyan:NESTED} styles in {red:the same string} with an ending") );

###Multi line

var multiline = require("multiline");

var string = multiline(function () {/*
{cyan:This is a multi-line coloured string
With a single {yellow:yellow} word in the center of a line
Pretty cool huh?
*/});

console.log( tFunk(string) );

###Escaping when you need curly braces

console.log( tFunk("This has a \\{\\{mustache\\}\\}") );

##TODO

  • Colours
  • Nested Colours
  • Custom syntax
  • Prefixed compiler
  • Make the chain-able API work like this "{white.bgRed: White text, red BG"
  • Offer a way of escaping. Right now, ALL instances of } will be lost

Keywords

FAQs

Last updated on 17 Oct 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc