What is wordwrapjs?
The wordwrapjs package is a utility for wrapping words into a specified width. It's useful for formatting text output in command-line applications or anywhere where you need to control the flow of text to fit within certain boundaries.
What are wordwrapjs's main functionalities?
Hard Wrapping
Hard wrapping ensures that the text is wrapped strictly at the specified width, even if it means breaking words apart.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20});
console.log(wrappedText);
Soft Wrapping
Soft wrapping wraps text at the specified width but without breaking words. It moves the whole word to the next line if it doesn't fit.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: false});
console.log(wrappedText);
Custom Break Character
This feature allows specifying a custom break character for wrapping, which can be useful for adding hyphens or other characters when a word is split.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: true, cut: true});
console.log(wrappedText);
Other packages similar to wordwrapjs
word-wrap
The 'word-wrap' package provides similar functionality to 'wordwrapjs' with a focus on wrapping plain text with indentation, prefix, and cut options. It's a simple and lightweight solution for text wrapping needs.
wrap-ansi
The 'wrap-ansi' package is designed to wrap text with ANSI escape codes, which is useful for colored CLI text. It handles wrapping text containing ANSI escape codes without breaking the color sequences.
wordwrapjs
Word wrapping, with a few features.
- force-break option
- wraps hypenated words
- multilingual - wraps any language that uses whitespace for word separation.
Synopsis
Wrap some text in a 20 character column.
> wordwrap = require('wordwrapjs')
> text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
> result = wordwrap.wrap(text, { width: 20 })
result
now looks like this:
Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod tempor
incididunt ut labore
et dolore magna
aliqua.
By default, long words will not break. Unless you set the break
option.
> url = 'https://github.com/75lb/wordwrapjs'
> wrap.lines(url, { width: 18 })
[ 'https://github.com/75lb/wordwrapjs' ]
> wrap.lines(url, { width: 18, break: true })
[ 'https://github.com', '/75lb/wordwrapjs' ]
Load anywhere
This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.
Node.js:
const wordwrap = require('wordwrapjs')
Within Node.js with ECMAScript Module support enabled:
import wordwrap from 'wordwrapjs/index.mjs'
Within an modern browser ECMAScript Module:
import wordwrap from './node_modules/wordwrapjs/dist/index.mjs'
Old browser (adds window.wordwrapjs
):
<script nomodule src="./node_modules/wordwrapjs/dist/index.js"></script>
API Reference
WordWrap ⏏
Kind: Exported class
WordWrap.wrap(text, [options]) ⇒ string
Kind: static method of WordWrap
Param | Type | Description |
---|
text | string | the input text to wrap |
[options] | object | optional configuration |
[options.width] | number | the max column width in characters (defaults to 30). |
[options.break] | boolean | if true, words exceeding the specified width will be forcefully broken |
[options.noTrim] | boolean | By default, each line output is trimmed. If noTrim is set, no line-trimming occurs - all whitespace from the input text is left in. |
[options.eol] | boolean | The end of line character to use. Defaults to \n . |
WordWrap.lines(text, options)
Wraps the input text, returning an array of strings (lines).
Kind: static method of WordWrap
Param | Type | Description |
---|
text | string | input text |
options | object | Accepts same options as constructor. |
WordWrap.isWrappable(text) ⇒ boolean
Returns true if the input text would be wrapped if passed into .wrap()
.
Kind: static method of WordWrap
Param | Type | Description |
---|
text | string | input text |
WordWrap.getChunks(text) ⇒ Array.<string>
Splits the input text into an array of words and whitespace.
Kind: static method of WordWrap
Param | Type | Description |
---|
text | string | input text |
© 2015-21 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.