What is word-wrap?
The word-wrap npm package is a simple utility that allows you to wrap words to a specified width. This can be particularly useful when dealing with text formatting in console applications or when generating text content that needs to adhere to certain width constraints.
What are word-wrap's main functionalities?
Basic word wrapping
This feature allows you to wrap a long string of text to a specified width. The 'width' option defines the maximum length of the lines in the output.
const wrap = require('word-wrap');
const text = 'This is a long piece of text that needs to be wrapped.';
const wrappedText = wrap(text, {width: 20});
console.log(wrappedText);
Custom indentation
This feature allows you to add custom indentation to the beginning of each line in the wrapped text. The 'indent' option specifies the string to use for indentation.
const wrap = require('word-wrap');
const text = 'This text will have an indentation.';
const wrappedText = wrap(text, {width: 20, indent: ' '});
console.log(wrappedText);
Trimming
This feature enables the trimming of leading and trailing whitespace from the input text before wrapping. The 'trim' option is a boolean that activates this behavior.
const wrap = require('word-wrap');
const text = ' This text has extra spaces that will be trimmed. ';
const wrappedText = wrap(text, {width: 20, trim: true});
console.log(wrappedText);
Custom newline character
This feature allows you to specify a custom newline character to be used in the wrapped text. The 'newline' option lets you define what characters to use for line breaks.
const wrap = require('word-wrap');
const text = 'This text will use a custom newline character.';
const wrappedText = wrap(text, {width: 20, newline: '\n\n'});
console.log(wrappedText);
Cut long words
This feature allows you to specify whether long words should be cut to fit the specified width. The 'cut' option is a boolean that, when true, will break a word that is longer than the specified width.
const wrap = require('word-wrap');
const text = 'A verylongwordthatneedstobewrapped.';
const wrappedText = wrap(text, {width: 10, cut: true});
console.log(wrappedText);
Other packages similar to word-wrap
wrap-ansi
wrap-ansi is a package similar to word-wrap but with additional support for ANSI escape codes, which are commonly used for coloring and styling text in terminal applications. This makes wrap-ansi more suitable for applications that require maintaining text styles after wrapping.
cli-wrap
cli-wrap is another package that provides text wrapping functionality with a focus on CLI applications. It offers features like word wrapping, centering text, and more, but it is not as widely used or as well-known as word-wrap.
text-table
text-table is a package that allows for creating text-based tables with aligned columns. While it is not a direct alternative to word-wrap, it does include text wrapping as part of its functionality to ensure that table cells display text correctly.
word-wrap
Wrap words to a specified length.
Install
Install with npm
npm i word-wrap --save
wrap
var wrap = require('word-wrap');
var str = 'A project without documentation is like a project that doesn\'t exist. Verb solves this by making it dead simple to generate project documentation, using simple markdown templates, with zero configuration required.';
console.log(wrap(str));
Results in:
A project without documentation is like a project
that doesn't exist. Verb solves this by making it
dead simple to generate project documentation,
using simple markdown templates, with zero
configuration required.
width
Type: Number
Default: 50
The width of the text before wrapping to a new line.
Example:
wrap(str, {width: 60})
indent
Type: String
Default:
(two spaces)
The string to use at the beginning of each line.
Example:
wrap(str, {indent: ' '})
newline
Type: String
Default: \n
The string to use at the end of each line.
Example:
wrap(str, {newline: '\n\n'})
Author
Jon Schlinkert
License
Copyright (c) 2014 Jon Schlinkert
Released under the , licenses
This file was generated by verb on November 23, 2014.