• Stars
    star
    157
  • Rank 238,399 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Word-wrapping for javascript.

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

wordwrapjs

Word wrapping for plain text.

Synopsis

Wrap some text in a 20 character column.

import wordwrap from 'wordwrapjs'

const text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
const 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.

Force long words to wrap by setting the break flag.

Welcome to Node.js v16.6.2.
> wrap = require('wordwrapjs')

> 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'

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

new Wordwrap(text, [options])

Param Type Description
text string The input text to wrap.
[options] WordwrapOptions

Wordwrap.wrap(text, [options])

Kind: static method of Wordwrap

Param Type Description
text string the input text to wrap
[options] WordwrapOptions

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] WordwrapOptions

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

Wordwrap~WordwrapOptions : Object

Wordwrap options.

Kind: inner typedef of Wordwrap
Properties

Name Type Default Description
[width] number 30 The max column width in characters.
[break] boolean false If true, words exceeding the specified width will be forcefully broken
[noTrim] boolean false By default, each line output is trimmed. If noTrim is set, no line-trimming occurs - all whitespace from the input text is left in.
[eol] string "'\n'" The end of line character to use. Defaults to \n.

Β© 2015-21 Lloyd Brookes <[email protected]>. Documented by jsdoc-to-markdown.

More Repositories

1

command-line-args

A mature, feature-complete library to parse command-line options.
JavaScript
685
star
2

handbrake-js

Video encoding / transcoding / converting for node.js
JavaScript
566
star
3

renamer

Rename files in bulk.
JavaScript
522
star
4

command-line-usage

A simple, data-driven module for creating a usage guide.
JavaScript
207
star
5

array-back

Isomorphic, load-anywhere arrayify function
JavaScript
82
star
6

byte-size

Isomorphic function to convert a bytes value (e.g. 3456) to a human-readable string ('3.5 kB')
JavaScript
73
star
7

ansi-escape-sequences

A simple, isomorphic library containing all known terminal ansi escape codes and sequences.
JavaScript
65
star
8

sort-array

Isomorphic, load-anywhere function to sort an array by scalar, deep or computed values in any standard or custom order
JavaScript
42
star
9

command-line-commands

Add a git-like command interface to your app.
JavaScript
41
star
10

transition-to-from-auto

perform CSS transitions to and from 'auto'
JavaScript
27
star
11

feature-detect-es6

Detect which ES6 features are available.
JavaScript
24
star
12

table-layout

Styleable plain-text table generator. Useful for formatting console output.
JavaScript
23
star
13

typical

Isomorphic, functional type-checking for Javascript
JavaScript
20
star
14

walk-back

Walk up the directory tree until a specified path is found.
JavaScript
13
star
15

usage-stats

A minimal Google Analytics Measurement Protocol client for tracking statistics in shell and javascript applications
JavaScript
12
star
16

browse

Terminal commands to launch your preferred browser (or any app) in full-screen mode
AppleScript
11
star
17

object-get

Access nested property values at any depth with a simple expression.
JavaScript
11
star
18

array-tools

Lightweight, use-anywhere toolkit for working with array data
JavaScript
9
star
19

common-log-format

Stream transform - converts common log format to JSON
JavaScript
9
star
20

gfmt

A use-anywhere, github-flavoured-markdown table generator.
JavaScript
9
star
21

table-layout-cli

Format data in column or table layout on the command line.
JavaScript
6
star
22

renamer-case

Renamer plugin to set the case of a filename.
JavaScript
5
star
23

find-replace

Replace or remove multiple items in an array
JavaScript
5
star
24

object-to-spawn-args

Converts an options object to an array suitable for passing to child_process.spawn()
JavaScript
5
star
25

yuidoc2md

A yuidoc-to-markdown generator
JavaScript
4
star
26

fs-then-native

Fs with a native promise API
JavaScript
4
star
27

work

Command and Command Queue pattern implementations
JavaScript
3
star
28

grunt-boil

Generate files with template-driven content. A simple, more generic alternative to Jekyll and Assemble.
JavaScript
3
star
29

home-path

Cross-platform home directory retriever
JavaScript
3
star
30

composite-class

An isomorphic JavaScript class for building composite structures.
JavaScript
3
star
31

file-set

Expand a list of paths and glob expressions into three sets: "files", "directories" and "not existing".
JavaScript
3
star
32

renamer-index-dir

Replaces the `{{index}}` token, resetting the counter for each folder visited.
JavaScript
3
star
33

current-module-paths

JavaScript
2
star
34

stream-handlebars

Extends handlebars with a streaming interface for .compile().
JavaScript
2
star
35

filter-where

Filter an array using any combination of scalars, object queries, functions or regular expressions.
JavaScript
2
star
36

veelo

Optimise your video library using Handbrake
JavaScript
2
star
37

cache-point

Simple, filesystem-backed memoisation cache.
JavaScript
2
star
38

fsm-base

Finite State Machine for use as a base class or mix-in
JavaScript
2
star
39

string-tools

Some useful functions for working with strings
JavaScript
2
star
40

command-line-tool

common operations for command-line tools
JavaScript
2
star
41

collect-json

Returns a stream which becomes readable with a single value once all (valid) JSON is received.
JavaScript
2
star
42

load-module

Node's require with a few extra features
JavaScript
2
star
43

stream-read-all

Returns a promise which fulfils with the supplied stream's content
JavaScript
2
star
44

template-clean

Template literal tag function to replace null and undefined values with an empty string
JavaScript
2
star
45

sse-server

Push an event stream from terminal to browser
JavaScript
2
star
46

argv-tools

Some useful tools for working with process.argv
JavaScript
1
star
47

boil-sitemap

Static website sitemap.xml generator
JavaScript
1
star
48

league

A hand-rolled Football League model with both Web and CLI visualisations.
JavaScript
1
star
49

race-timeout-anywhere

An isomorphic, load-anywhere timeout function for use with Promise.race.
JavaScript
1
star
50

stream-connect

Connects an arbitrary number of streams into a single, combined stream
JavaScript
1
star
51

obso

Observable Object
JavaScript
1
star
52

object-tools

Legacy module - no longer maintained
JavaScript
1
star
53

grunt-yuidoc2md

A markdown generator for yuidoc
JavaScript
1
star
54

config-master

A convention for storing and retrieving application config
JavaScript
1
star
55

console-dope

adds colouring and cursor control features to console
JavaScript
1
star
56

stream-monitor

Watch dem pipelines flow! Or not, as the case may be..
JavaScript
1
star
57

defer-promise

Isomorphic function returning a deferred promise. Uses native `Promise.defer` where available, else polyfills
JavaScript
1
star
58

cli-commands

A convention for building command-driven CLI apps
JavaScript
1
star
59

common-dir

Returns the parent directory common to each path
JavaScript
1
star
60

handlebars-json

Provides access to JSON.stringify from a Handlebars template.
JavaScript
1
star
61

collect-all

returns a stream which becomes readable once all input is received
JavaScript
1
star
62

boil

Boilerplate files, packages, apps, websites etc.
JavaScript
1
star
63

test-value

A module for testing values.
JavaScript
1
star
64

linguist

Translate strings or JSON from Node.js or the command line
JavaScript
1
star
65

create-mixin

For achieving something resembling multiple-inheritence in Javascript
JavaScript
1
star
66

nature

currently inactive
JavaScript
1
star