Ghost/core/client/app/utils/word-count.js
Kevin Ansfield 3d6856614f Use es6 across client and add ember-suave to enforce rules
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
2015-11-30 10:41:01 +00:00

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;
}