align-text

Align the text in a string.

Examples

Align text values in an array:

align([1, 2, 3, 100]);
//=> ['  1', '  2', '  3', '100']

Or do stuff like this:

screen shot 2015-06-09 at 2 08 34 am

Visit the example to see how this works.

Install

Install with npm

$ npm i align-text --save

Usage

var align = require('align-text');
align(text, callback_function_or_integer);

Params

  • text can be a string or array. If a string is passed, a string will be returned. If an array is passed, an array will be returned.

  • callback|integer: if an integer, the text will be indented by that amount. If a function, it must return an integer representing the amount of leading indentation to use as align loops over each line.

Example

Would align:

To:

callback

params

The callback is used to determine the indentation of each line and gets the following params:

  • len the length of the "current" line

  • longest the length of the longest line

  • line the current line (string) being aligned

  • lines the array of all lines

return

The callback may return:

  • an integer that represents the number of spaces to use for padding,

  • or an object with the following properties:

    • indent: {Number} the amount of indentation to use. Default is 0 when an object is returned.

    • character: {String} the character to use for indentation. Default is '' (empty string) when an object is returned.

    • prefix: {String} leading characters to use at the beginning of each line. '' (empty string) when an object is returned.

Integer example:

Object example:

Usage examples

Center align

Using the centerAlign function from above:

Would align this text:

Resulting in this:

Customize

If you wanted to add more padding on the left, just pass the number in the callback.

For example, to add 4 spaces before every line:

Would result in:

Bullets

Would return:

Different indent character

Would return

  • center-align: Center-align the text in a string.

  • justify: Left or right (or both) justify text using a custom width and character

  • longest: Get the longest item in an array.

  • right-align: Right-align the text in a string.

  • repeat-string: Repeat the given string n times. Fastest implementation for repeating a string.

  • word-wrap: Wrap words to a specified length.

Running tests

Install dev dependencies:

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.

This file was generated by verb-cli on June 09, 2015.

Last updated

Was this helpful?