Create boxes in the terminal
Clone or download
Latest commit 7e31c3c Sep 10, 2018
Permalink
Failed to load latest commit information.
.editorconfig Meta tweaks Jul 12, 2017
.gitattributes Require Node.js 6 Sep 10, 2018
.gitignore Meta tweaks Jul 12, 2017
.npmrc Meta tweaks Jul 12, 2017
.travis.yml Require Node.js 6 Sep 10, 2018
example.js Require Node.js 6 Sep 10, 2018
index.js Require Node.js 6 Sep 10, 2018
license Meta tweaks Jul 12, 2017
package.json 2.0.0 Sep 10, 2018
readme.md Require Node.js 6 Sep 10, 2018
screenshot.png Meta tweaks Apr 2, 2018
test.js Require Node.js 6 Sep 10, 2018

readme.md

boxen Build Status

Create boxes in the terminal

Install

$ npm install boxen

Usage

const boxen = require('boxen');

console.log(boxen('unicorn', {padding: 1}));
/*
┌─────────────┐
│             │
│   unicorn   │
│             │
└─────────────┘
*/

console.log(boxen('unicorn', {padding: 1, margin: 1, borderStyle: 'double'}));
/*

   ╔═════════════╗
   ║             ║
   ║   unicorn   ║
   ║             ║
   ╚═════════════╝

*/

API

boxen(input, [options])

input

Type: string

Text inside the box.

options

Type: Object

borderColor

Type: string
Values: black red green yellow blue magenta cyan white gray or a hex value like #ff0000

Color of the box border.

borderStyle

Type: string object
Default: single
Values:

  • single
┌───┐
│foo│
└───┘
  • double
╔═══╗
║foo║
╚═══╝
  • round (single sides with round corners)
╭───╮
│foo│
╰───╯
  • single-double (single on top and bottom, double on right and left)
╓───╖
║foo║
╙───╜
  • double-single (double on top and bottom, single on right and left)
╒═══╕
│foo│
╘═══╛
  • classic
+---+
|foo|
+---+

Style of the box border.

Can be any of the above predefined styles or an object with the following keys:

{
	topLeft: '+',
	topRight: '+',
	bottomLeft: '+',
	bottomRight: '+',
	horizontal: '-',
	vertical: '|'
}
dimBorder

Type: boolean
Default: false

Reduce opacity of the border.

padding

Type: number Object
Default: 0

Space between the text and box border.

Accepts a number or an object with any of the top, right, bottom, left properties. When a number is specified, the left/right padding is 3 times the top/bottom to make it look nice.

margin

Type: number Object
Default: 0

Space around the box.

Accepts a number or an object with any of the top, right, bottom, left properties. When a number is specified, the left/right margin is 3 times the top/bottom to make it look nice.

float

Type: string
Values: right center left
Default: left

Float the box on the available terminal screen space.

backgroundColor

Type: string Values: black red green yellow blue magenta cyan white gray or a hex value like #ff0000

Color of the background.

align

Type: string
Default: left
Values: left center right

Align the text in the box based on the widest line.

Related

  • boxen-cli - CLI for this module
  • cli-boxes - Boxes for use in the terminal
  • ink-box - Box component for Ink that uses this package

License

MIT © Sindre Sorhus