UNPKG

781 BJavaScriptView Raw
1var toString = require('../lang/toString');
2var replaceAccents = require('./replaceAccents');
3var removeNonWord = require('./removeNonWord');
4var trim = require('./trim');
5 /**
6 * Convert to lower case, remove accents, remove non-word chars and
7 * replace spaces with the specified delimiter.
8 * Does not split camelCase text.
9 */
10 function slugify(str, delimiter){
11 str = toString(str);
12
13 if (delimiter == null) {
14 delimiter = "-";
15 }
16 str = replaceAccents(str);
17 str = removeNonWord(str);
18 str = trim(str) //should come after removeNonWord
19 .replace(/ +/g, delimiter) //replace spaces with delimiter
20 .toLowerCase();
21 return str;
22 }
23 module.exports = slugify;
24