center-align
Advanced tools
Comparing version 0.1.3 to 1.0.0
15
index.js
@@ -10,8 +10,17 @@ /*! | ||
var utils = require('./utils'); | ||
var repeat = require('repeat-string'); | ||
var align = require('align-text'); | ||
module.exports = function centerAlign(val) { | ||
return utils.align(val, function (len, longest) { | ||
module.exports = function(val, width) { | ||
if (typeof width === 'number' && typeof val === 'string' && !/\n/.test(val)) { | ||
var padding = Math.floor((width - val.length) / 2); | ||
return repeat(' ', padding) + val + repeat(' ', padding); | ||
} | ||
return align(val, function(len, longest) { | ||
if (typeof width === 'number') { | ||
return Math.floor((width - len) / 2); | ||
} | ||
return Math.floor((longest - len) / 2); | ||
}); | ||
}; |
{ | ||
"name": "center-align", | ||
"description": "Center-align the text in a string.", | ||
"version": "0.1.3", | ||
"version": "1.0.0", | ||
"homepage": "https://github.com/jonschlinkert/center-align", | ||
@@ -13,4 +13,3 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"files": [ | ||
"index.js", | ||
"utils.js" | ||
"index.js" | ||
], | ||
@@ -25,7 +24,8 @@ "main": "index.js", | ||
"dependencies": { | ||
"align-text": "^0.1.3", | ||
"lazy-cache": "^1.0.3" | ||
"align-text": "^0.1.4", | ||
"repeat-string": "^1.6.1" | ||
}, | ||
"devDependencies": { | ||
"mocha": "^2.2.0" | ||
"gulp-format-md": "^0.1.12", | ||
"mocha": "^3.4.2" | ||
}, | ||
@@ -43,12 +43,22 @@ "keywords": [ | ||
"verb": { | ||
"toc": false, | ||
"layout": "default", | ||
"tasks": [ | ||
"readme" | ||
], | ||
"plugins": [ | ||
"gulp-format-md" | ||
], | ||
"related": { | ||
"description": "", | ||
"list": [ | ||
"align-text", | ||
"justified", | ||
"right-align", | ||
"justified", | ||
"word-wrap" | ||
] | ||
}, | ||
"lint": { | ||
"reflinks": true | ||
} | ||
} | ||
} |
@@ -1,9 +0,11 @@ | ||
# center-align [![NPM version](https://badge.fury.io/js/center-align.svg)](http://badge.fury.io/js/center-align) | ||
# center-align [![NPM version](https://img.shields.io/npm/v/center-align.svg?style=flat)](https://www.npmjs.com/package/center-align) [![NPM monthly downloads](https://img.shields.io/npm/dm/center-align.svg?style=flat)](https://npmjs.org/package/center-align) [![NPM total downloads](https://img.shields.io/npm/dt/center-align.svg?style=flat)](https://npmjs.org/package/center-align) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/center-align.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/center-align) | ||
> Center-align the text in a string. | ||
Install with [npm](https://www.npmjs.com/) | ||
## Install | ||
Install with [npm](https://www.npmjs.com/): | ||
```sh | ||
$ npm i center-align --save | ||
$ npm install --save center-align | ||
``` | ||
@@ -14,5 +16,24 @@ | ||
```js | ||
var centerAlign = require('center-align'); | ||
var center = require('center-align'); | ||
center(val, width); | ||
``` | ||
**Params** | ||
* `val` **{String|Array}**: the string or array of strings to center align | ||
* `width` **{Number}** (optional): the total width of each line in the expected result, after it's centered. | ||
## Examples | ||
```js | ||
console.log(center('foo')); //=> 'foo' (does nothing) | ||
console.log(center('foo', 12)); //=> ' foo ' | ||
console.log(center('foo', 10)); //=> ' foo ' | ||
console.log(center('foo', 8)); //=> ' foo ' | ||
``` | ||
### Multiple lines | ||
If expected `width` is not provided, the _length of the longest line_ will be used. | ||
**Example** | ||
@@ -22,10 +43,13 @@ | ||
```js | ||
// value can be a string, or an array of strings | ||
center([ | ||
'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' | ||
]); | ||
``` | ||
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 | ||
``` | ||
@@ -43,35 +67,47 @@ The result would be: | ||
## Related projects | ||
## About | ||
* [align-text](https://www.npmjs.com/package/align-text): Align the text in a string. | [homepage](https://github.com/jonschlinkert/align-text) | ||
* [justified](https://www.npmjs.com/package/justified): Wrap words to a specified length and justified the text. | [homepage](https://github.com/jonschlinkert/justified) | ||
* [right-align](https://www.npmjs.com/package/right-align): Right-align the text in a string. | [homepage](https://github.com/jonschlinkert/right-align) | ||
* [word-wrap](https://www.npmjs.com/package/word-wrap): Wrap words to a specified length. | [homepage](https://github.com/jonschlinkert/word-wrap) | ||
### Related projects | ||
## Running tests | ||
* [align-text](https://www.npmjs.com/package/align-text): Align the text in a string. | [homepage](https://github.com/jonschlinkert/align-text "Align the text in a string.") | ||
* [justified](https://www.npmjs.com/package/justified): Wrap words to a specified length and justified the text. | [homepage](https://github.com/jonschlinkert/justified "Wrap words to a specified length and justified the text.") | ||
* [right-align](https://www.npmjs.com/package/right-align): Right-align the text in a string. | [homepage](https://github.com/jonschlinkert/right-align "Right-align the text in a string.") | ||
* [word-wrap](https://www.npmjs.com/package/word-wrap): Wrap words to a specified length. | [homepage](https://github.com/jonschlinkert/word-wrap "Wrap words to a specified length.") | ||
Install dev dependencies: | ||
### Contributing | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
### Building docs | ||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ | ||
To generate the readme, run the following command: | ||
```sh | ||
$ npm i -d && npm test | ||
$ npm install -g verbose/verb#dev verb-generate-readme && verb | ||
``` | ||
## Contributing | ||
### Running tests | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/center-align/issues/new). | ||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: | ||
## Author | ||
```sh | ||
$ npm install && npm test | ||
``` | ||
### Author | ||
**Jon Schlinkert** | ||
+ [github/jonschlinkert](https://github.com/jonschlinkert) | ||
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
* [github/jonschlinkert](https://github.com/jonschlinkert) | ||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) | ||
## License | ||
### License | ||
Copyright © 2015 Jon Schlinkert | ||
Released under the MIT license. | ||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT License](LICENSE). | ||
*** | ||
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on October 27, 2015._ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 26, 2017._ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
6678
0
110
1
2
4
21
+ Addedrepeat-string@^1.6.1
- Removedlazy-cache@^1.0.3
- Removedlazy-cache@1.0.4(transitive)
Updatedalign-text@^0.1.4