Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
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.
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);
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 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 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.
Wrap words to a specified length.
Install with npm:
$ npm install --save word-wrap
var wrap = require('word-wrap');
wrap('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
Results in:
Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
Type: Number
Default: 50
The width of the text before wrapping to a new line.
Example:
wrap(str, {width: 60});
Type: String
Default: `` (two spaces)
The string to use at the beginning of each line.
Example:
wrap(str, {indent: ' '});
Type: String
Default: \n
The string to use at the end of each line.
Example:
wrap(str, {newline: '\n\n'});
Type: function
Default: function(str){return str;}
An escape function to run on each line after splitting them.
Example:
var xmlescape = require('xml-escape');
wrap(str, {
escape: function(string){
return xmlescape(string);
}
});
Type: Boolean
Default: false
Trim trailing whitespace from the returned string. This option is included since .trim()
would also strip the leading indentation from the first line.
Example:
wrap(str, {trim: true});
Type: Boolean
Default: false
Break a word between any two letters when the word is longer than the specified width.
Example:
wrap(str, {cut: true});
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Commits | Contributor |
---|---|
33 | jonschlinkert |
2 | lordvlad |
2 | hildjj |
1 | danilosampaio |
1 | toddself |
1 | wolfgang42 |
1 | zachhale |
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb-generate-readme, v0.2.1, on December 29, 2016.
FAQs
Wrap words to a specified length.
We found that word-wrap demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.