added preserveCase option to slugify

v1.18.x
Julian Lam 10 years ago
parent 9f2b849861
commit d7cd936b54

@ -74,7 +74,7 @@
languageKeyRegex: /\[\[[\w]+:.+\]\]/,
//http://dense13.com/blog/2009/05/03/converting-string-to-slug-javascript/
slugify: function(str) {
slugify: function(str, preserveCase) {
if (!str) { str = ''; }
str = str.replace(utils.trimRegex, '');
if(utils.isLatin.test(str)) {
@ -82,7 +82,7 @@
} else {
str = XRegExp.replace(str, utils.invalidUnicodeChars, '-');
}
str = str.toLocaleLowerCase();
str = !preserveCase ? str.toLocaleLowerCase() : str;
str = str.replace(utils.collapseWhitespace, '-');
str = str.replace(utils.collapseDash, '-');
str = str.replace(utils.trimTrailingDash, '');

@ -224,10 +224,10 @@ var async = require('async'),
if (err) {
return callback(err);
}
results.base.name = validator.escape(results.base.name);
results.base.description = validator.escape(results.base.description);
results.base.name = !options.unescape ? validator.escape(results.base.name) : results.base.name;
results.base.description = options.unescape ? validator.escape(results.base.description) : results.base.description;
results.base.descriptionParsed = descriptionParsed;
results.base.userTitle = validator.escape(results.base.userTitle);
results.base.userTitle = options.unescape ? validator.escape(results.base.userTitle) : results.base.userTitle;
results.base.userTitleEnabled = results.base.userTitleEnabled ? !!parseInt(results.base.userTitleEnabled, 10) : true;
results.base.createtimeISO = utils.toISOString(results.base.createtime);
results.base.members = results.users.filter(Boolean);

Loading…
Cancel
Save