https://github.com/alienzhou/yoo-hoo
ASCII Art for printing a noticeable banner of words for your project. ๐จ๏ธ
https://github.com/alienzhou/yoo-hoo
ascii-art banner characters cli console printer
Last synced: about 1 year ago
JSON representation
ASCII Art for printing a noticeable banner of words for your project. ๐จ๏ธ
- Host: GitHub
- URL: https://github.com/alienzhou/yoo-hoo
- Owner: alienzhou
- License: mit
- Created: 2020-11-22T09:30:04.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-06T13:28:50.000Z (about 5 years ago)
- Last Synced: 2025-04-20T21:20:20.270Z (about 1 year ago)
- Topics: ascii-art, banner, characters, cli, console, printer
- Language: TypeScript
- Homepage:
- Size: 148 KB
- Stars: 24
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Yoo-Hoo
Yoo-Hoo! It's a tiny library for printing a noticeable banner of words for your project. Such as below,

Maybe useful when you want a banner for your project. Have fun!
---
## How to install
```bash
npm i yoo-hoo
```
## How to use
```js
import { yo } from 'yoo-hoo';
yo('GOOD');
```
or in commonjs
```js
const { yo } = require('yoo-hoo');
yo('GOOD');
```
## API
```typescript
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](#built-in-fonts).
- 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](https://github.com/chalk/chalk)
- silent: `boolean` Whether to prevent print characters when calling `yo()`. Default `false`.
For example,
```typescript
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:
```typescript
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
```bash
npm run example
```
```text
/\\\ /\\\ /\\\\\\\\ /\\\\\\\\ /\\\ /\\\ /\\\\\\\\ /\\\\\\\\
\/\\\ /\\\ /\\\_____/\\\ /\\\_____/\\\ \/\\\ \/\\\ /\\\_____/\\\ /\\\_____/\\\
\/_\\\/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\
\/_\\\\ \/\\\ \/\\\ \/\\\ \/\\\ /\\\\\\\\\ \/\\\\\\\\\\\ \/\\\ \/\\\ \/\\\ \/\\\
\/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/_______/ \/\\\____/\\\ \/\\\ \/\\\ \/\\\ \/\\\
\/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\
\/\\\ \/_/\\\\\\\\\ \/_/\\\\\\\\\ \/\\\ \/\\\ \/_/\\\\\\\\\ \/_/\\\\\\\\\
\/_/ \/_______/ \/_______/ \/_/ \/_/ \/_______/ \/_______/
```