tty-width-frame
Generate simple framed text fitting for the current text terminal
const ttyWidthFrame = ; console;
┌──────────────────────────────────────────────────────────────────────────┐
│ │
│ tty-width-frame │
│ Generate simple framed text from a string │
│ │
└──────────────────────────────────────────────────────────────────────────┘
- No configuration, a single tidy default
- Single-line border
- 1 padding between text and borders
- 2 horizontal spaces on both side of the box
- Left-aligned text
- Automatic box width adjustment for the current terminal width
- Automatic line breaking for long text
Installation
npm install tty-width-frame
API
const ttyWidthFrame = ;
ttyWidthFrame(input)
input: string
Return: string
// When the terminal width is 30 ;/* => ┌────────────────────────┐ │ │ │ abcdefghijklmnopqrstuv │ │ wxyz │ │ │ └────────────────────────┘*/ // When the terminal width is 20 ;/* => ┌──────────────┐ │ │ │ abcdefghijkl │ │ mnopqrstuvwx │ │ yz │ │ │ └──────────────┘*/
When the terminal window is too narrow, or more specifically, its width is less than 15, it just returns the original string
.
// When the terminal width is 14 ; //=> 'abcdefghijklmnopqrstuvwxyz'
On a non-interactive script, it throws an Error
instead.
Related project
- neat-frame – works on both TTY and non-TTY environments, in exchange for larger dependency size
License
ISC License © 2018 - 2019 Watanabe Shinnosuke