Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
The cfonts npm package is used to generate ASCII art text with various fonts and styles in the terminal. It allows for customization of font, color, background, and alignment, making it useful for creating visually appealing text outputs in command-line applications.
Basic Text Rendering
This feature allows you to render basic text in the terminal using a specified font and alignment. The example code renders 'Hello, World!' using the 'block' font, left-aligned, and with system colors.
const cfonts = require('cfonts');
cfonts.say('Hello, World!', { font: 'block', align: 'left', colors: ['system'] });
Custom Colors
This feature allows you to customize the colors of the text. The example code renders 'Colorful Text' using the 'console' font, center-aligned, and with a gradient of red, yellow, and blue colors.
const cfonts = require('cfonts');
cfonts.say('Colorful Text', { font: 'console', align: 'center', colors: ['red', 'yellow', 'blue'] });
Background Colors
This feature allows you to set a background color for the text. The example code renders 'Background Color' using the 'chrome' font, right-aligned, with a black background and white text color.
const cfonts = require('cfonts');
cfonts.say('Background Color', { font: 'chrome', align: 'right', background: 'black', colors: ['white'] });
Multiple Lines
This feature allows you to render multiple lines of text. The example code renders three lines of text using the 'simple' font, center-aligned, and with cyan color.
const cfonts = require('cfonts');
cfonts.say('Line 1\nLine 2\nLine 3', { font: 'simple', align: 'center', colors: ['cyan'] });
Figlet is a package that generates text banners in various fonts. It is similar to cfonts in that it allows for ASCII art text generation, but it has fewer customization options for colors and backgrounds.
Ascii-art is a package that provides a wide range of ASCII art functionalities, including text, images, and tables. It offers more comprehensive ASCII art features compared to cfonts but may be more complex to use for simple text rendering.
Chalk is a package that allows you to style terminal strings with colors and other attributes. While it does not generate ASCII art text, it can be used in conjunction with other packages like figlet to add color and style to text outputs.
██████╗ ███████╗ ██████╗ ███╗ ██╗ ████████╗ ███████╗
██╔════╝ ██╔════╝ ██╔═══██╗ ████╗ ██║ ╚══██╔══╝ ██╔════╝
██║ █████╗ ██║ ██║ ██╔██╗ ██║ ██║ ███████╗
██║ ██╔══╝ ██║ ██║ ██║╚██╗██║ ██║ ╚════██║
╚██████╗ ██║ ╚██████╔╝ ██║ ╚████║ ██║ ███████║
╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚══════╝
This is a silly little command line tool for sexy fonts in the console.
To install the CLI app, simply NPM install it globally.
$ sudo npm install cfonts -g
To use it in your project:
var FONTS = require('cfonts');
var fonts = new FONTS(
program.text, //text to be converted
program.font, //define the font face
program.colors, //define all colors
program.background, //define the background color
program.letterSpacing, //define letter spacing
program.space, //define if the output text should have empty lines on top and on the bottom
program.maxLength //define how many character can be on one line
);
Using the CLI is easy.
Usage: cfonts <command> <param1>,<param2> <command> <param1> etc...
At any point you can run the help command to get a full list of commands and how to use them.
$ cfonts --help
(space)The |
character will be replaced with a line break
Type: <command>
Default value: none
This shows a list of all available options.
$ cfonts --help
Type: <command>
Default value: none
This shows the installed version.
$ cfonts --version
Type: <string>
Default value: ""
This is the "textinput" to be converted into a nice font
$ cfonts --text "Hello world!"
Type: <string>
Default value: "block"
This is the font face you want to use. So far this plugin ships with with following font faces:
$ cfonts --font "block"
Type: <string list>
Default value: []
In this setting you can set the colors for each font face. Use the below color strings build in by chalk.
Provide colors in a comma-separated string, eg: red,blue
black
red
green
yellow
blue
magenta
cyan
white
gray
$ cfonts --colors white,blue
Type: <string>
Default value: "Black"
In this setting you can set the background colors for the output. Use the below color strings build in by chalk. Provide the background color from the below supported list, eg: 'white'
Black
Red
Green
Yellow
Blue
Magenta
Cyan
White
$ cfonts --background "Green"
Type: <integer>
Default value: 1
Set this option to widen the space between characters.
$ cfonts --letter-spacing 2
Type: <boolen>
Default value: true
Set this option to false if you don't want the plugin to insert two empty lines on top and on the bottom of the output.
$ cfonts --space false
Type: <integer>
Default value: 10
This option sets the maximum characters that will be printed on one line. As the shell usually doesn't give you access to its width, this is nessesary to not end up with a scrambled text output.
$ cfonts --max-length 15
Please look at the coding style and work with it, not against it ;)
Copyright (c) 2015 Dominik Wilkowski. Licensed under the MIT license.
FAQs
Sexy ANSI fonts for the console
The npm package cfonts receives a total of 111,252 weekly downloads. As such, cfonts popularity was classified as popular.
We found that cfonts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.