18 lines
695 B
JavaScript
18 lines
695 B
JavaScript
|
var makeString = require('./helper/makeString');
|
||
|
var defaultToWhiteSpace = require('./helper/defaultToWhiteSpace');
|
||
|
var trim = require('./trim');
|
||
|
var dasherize = require('./dasherize');
|
||
|
|
||
|
module.exports = function slugify(str) {
|
||
|
var from = "ąàáäâãåæăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșšŝťțŭùúüűûñÿýçżźž",
|
||
|
to = "aaaaaaaaaccceeeeeghiiiijllnnoooooooossssttuuuuuunyyczzz",
|
||
|
regex = new RegExp(defaultToWhiteSpace(from), 'g');
|
||
|
|
||
|
str = makeString(str).toLowerCase().replace(regex, function(c){
|
||
|
var index = from.indexOf(c);
|
||
|
return to.charAt(index) || '-';
|
||
|
});
|
||
|
|
||
|
return trim(dasherize(str.replace(/[^\w\s-]/g, '-')), '-');
|
||
|
};
|