mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 22:43:30 +03:00
2f4f6db133
no issue - add ember-suave dependency - upgrade grunt-jscs dependency - add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc - separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc - standardize es6 usage across client
16 lines
584 B
JavaScript
16 lines
584 B
JavaScript
// jscs: disable
|
|
/* global XRegExp */
|
|
|
|
export default function (s) {
|
|
let nonANumLetters = new XRegExp("[^\\s\\d\\p{L}]", 'g'); // all non-alphanumeric letters regexp
|
|
|
|
s = s.replace(/<(.|\n)*?>/g, ' '); // strip tags
|
|
s = s.replace(nonANumLetters, ''); // ignore non-alphanumeric letters
|
|
s = s.replace(/(^\s*)|(\s*$)/gi, ''); // exclude starting and ending white-space
|
|
s = s.replace(/\n /gi, ' '); // convert newlines to spaces
|
|
s = s.replace(/\n+/gi, ' ');
|
|
s = s.replace(/[ ]{2,}/gi, ' '); // convert 2 or more spaces to 1
|
|
|
|
return s.split(' ').length;
|
|
}
|