1 | var toString = require('../lang/toString');
|
2 | var replaceAccents = require('./replaceAccents');
|
3 | var removeNonWord = require('./removeNonWord');
|
4 | var 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 |
|