Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

yoo-hoo

alienzhou8.2kMIT1.3.1TypeScript support: included

Print a noticeable banner of words for your project. 🖨️

welcome, banner, console, print, words

readme

Yoo-Hoo

Yoo-Hoo! It's a tiny library for printing a noticeable banner of words for your project. Such as below,

yoo-hoo logo

Maybe useful when you want a banner for your project. Have fun!


How to install

npm i yoo-hoo

How to use

import { yo } from 'yoo-hoo';

yo('GOOD');

or in commonjs

const { yo } = require('yoo-hoo');

yo('GOOD');

API

yo(text: string, options?: Option): string[]

It will return the lines for printing. Then you can print it yourself line by line.

Options:

  • fontFamily: object Specify the font family. Optional. See more in the Built-In Fonts Section.
  • spacing: number The number of spaces between two characters. Default 1.
  • paddingStart: number The number of spaces before the text. Default 0.
  • maxLineWidth: number The max length of lines. If exceed maxLineWidth following characters will get a line feed. Default Infinity.
  • color: string Setting the color for print. Default none. There contains several values:
    • random choosing a random color from the palette
    • rainbow printing rainbow fonts 🌈
    • none without color setting
    • any other color string supported by chalk
  • silent: boolean Whether to prevent print characters when calling yo(). Default false.

For example,

yo('ho', {
  color: 'blue',
  spacing: 2,
});

Then it will print a blue HO with two spaces between H and O.

Built-In Fonts

Below is the fonts supported for the fontFamily option:

  • default
  • anis-shadow
  • big
  • crazy
  • whimsy

You can import font sets from lib/fonts/xxx and use it. Such as below:

import * as fontFamily from 'yoo-hoo/lib/fonts/ansi-shadow';

yo('yoo-hoo', {
    fontFamily,
});

When not receiving a fontFamily object, it will use the default font set.

Characters Supported

🤘 yoo-hoo can be used in both NodeJS and browsers.

  • 26 letters: A-Z (letters will be converted to uppercase)
  • 10 numbers: 0-9
  • some punctuations: · * - |

Characters that are not supported will be ignored.

Run the example

npm run example
 /\\\    /\\\  /\\\\\\\\      /\\\\\\\\                /\\\    /\\\    /\\\\\\\\      /\\\\\\\\
 \/\\\   /\\\ /\\\_____/\\\  /\\\_____/\\\             \/\\\   \/\\\  /\\\_____/\\\  /\\\_____/\\\
   \/_\\\/\\\ \/\\\    \/\\\ \/\\\    \/\\\             \/\\\   \/\\\ \/\\\    \/\\\ \/\\\    \/\\\
      \/_\\\\  \/\\\    \/\\\ \/\\\    \/\\\  /\\\\\\\\\ \/\\\\\\\\\\\ \/\\\    \/\\\ \/\\\    \/\\\
         \/\\\  \/\\\    \/\\\ \/\\\    \/\\\ \/_______/  \/\\\____/\\\ \/\\\    \/\\\ \/\\\    \/\\\
          \/\\\  \/\\\    \/\\\ \/\\\    \/\\\             \/\\\   \/\\\ \/\\\    \/\\\ \/\\\    \/\\\
           \/\\\  \/_/\\\\\\\\\  \/_/\\\\\\\\\              \/\\\   \/\\\ \/_/\\\\\\\\\  \/_/\\\\\\\\\
            \/_/     \/_______/     \/_______/               \/_/    \/_/    \/_______/     \/_______/

changelog

v1.3.1

Fix

  • support browsers: remove the module which not supported in browsers

v1.3.0

Feature

Support more font families. Now you can use the fontFamily option to specify the type of font as below:

import * as fontFamily from 'yoo-hoo/lib/fonts/ansi-shadow';

yo('yoo-hoo', {
    fontFamily,
});

See more >>


v1.2.0

Feature

  • support print rainbow fonts 🌈
  • support padding start

v1.0.1

Fix

  • char height should be calculated from the source texts
  • use a string text instead of a variable for the default font set module, so that it can work in webpack
  • codes should be numbers in the font set module

v1.0.0

Init release 🎉

  • easily use to print notable logos and banners in the console
  • a built-in font set
  • support both nodejs and browers
  • support setting max line length
  • support colorful paint
  • support rendering by yourself