613 lines
18 KiB
JavaScript
613 lines
18 KiB
JavaScript
/*! Slugify - v0.1.0 - 2013-05-22
|
||
* https://github.com/madflow/jquery-slugify
|
||
* Copyright (c) 2013 madflow; Licensed MIT */
|
||
;(function($) {
|
||
|
||
$.fn.slugify = function(source, options) {
|
||
return this.each(function() {
|
||
var $target = $(this),
|
||
$source = $(source);
|
||
|
||
$target.on('keyup change',function() {
|
||
if($target.val() !== '' && $target.val() !== undefined) {
|
||
$target.data('locked', true);
|
||
} else {
|
||
$target.data('locked', false);
|
||
}
|
||
});
|
||
|
||
$source.on('keyup change',function() {
|
||
if( true === $target.data('locked')) {return;}
|
||
if($target.is('input') || $target.is('textarea')) {
|
||
$target.val($.slugify($source.val(), options));
|
||
} else {
|
||
$target.text($.slugify($source.val(), options));
|
||
}
|
||
});
|
||
});
|
||
};
|
||
|
||
// Static method.
|
||
$.slugify = function(sourceString, options) {
|
||
// Override default options with passed-in options.
|
||
options = $.extend({}, $.slugify.options, options);
|
||
sourceString = $.trim(sourceString); // Trim
|
||
sourceString = sourceString.toLowerCase(); // Lower Case
|
||
$.each(options.replaceMap, function(key, value) { // Special char map
|
||
sourceString = sourceString.replace(new RegExp(key, 'g'), value || options.invalid);
|
||
});
|
||
return sourceString
|
||
.replace(/\s+/g, options.whitespace) // Replace whitespace characters
|
||
.replace(new RegExp('[^a-z0-9 '+ options.whitespace +']', 'g'), options.invalid); // Replace invalid characters
|
||
};
|
||
|
||
// Default options
|
||
$.slugify.options = {
|
||
whitespace: '-',
|
||
invalid: '',
|
||
replaceMap: {
|
||
'á': 'a',
|
||
'Ã ': 'a',
|
||
'â': 'a',
|
||
'ä': 'ae',
|
||
'ã': 'a',
|
||
'æ': 'ae',
|
||
'ç': 'c',
|
||
'é': 'e',
|
||
'è': 'e',
|
||
'ê': 'e',
|
||
'ë': 'e',
|
||
'ẽ': 'e',
|
||
'Ã': 'i',
|
||
'ì': 'i',
|
||
'î': 'i',
|
||
'ï': 'i',
|
||
'Ä©': 'i',
|
||
'ó': 'o',
|
||
'ò': 'o',
|
||
'ô': 'o',
|
||
'ö': 'oe',
|
||
'õ': 'o',
|
||
'Å“': 'oe',
|
||
'ß': 'ss',
|
||
'ú': 'u',
|
||
'ù': 'u',
|
||
'û': 'u',
|
||
'ü': 'ue',
|
||
'Å©': 'u',
|
||
'ă': 'a',
|
||
'ắ': 'a',
|
||
'ằ': 'a',
|
||
'ẵ': 'a',
|
||
'ẳ': 'a',
|
||
'ấ': 'a',
|
||
'ầ': 'a',
|
||
'ẫ': 'a',
|
||
'ẩ': 'a',
|
||
'ÇŽ': 'a',
|
||
'Ã¥': 'a',
|
||
'Ç»': 'a',
|
||
'ÇŸ': 'a',
|
||
'ȧ': 'a',
|
||
'Ç¡': 'a',
|
||
'Ä…': 'a',
|
||
'Ä': 'a',
|
||
'ả': 'a',
|
||
'È': 'a',
|
||
'ȃ': 'a',
|
||
'ạ': 'a',
|
||
'ặ': 'a',
|
||
'áº': 'a',
|
||
'á¸': 'a',
|
||
'â±¥': 'a',
|
||
'á¶': 'a',
|
||
'É': 'a',
|
||
'É‘': 'a',
|
||
'ḃ': 'b',
|
||
'ḅ': 'b',
|
||
'ḇ': 'b',
|
||
'Æ€': 'b',
|
||
'É“': 'b',
|
||
'ƃ': 'b',
|
||
'ᵬ': 'b',
|
||
'á¶€': 'b',
|
||
'þ': 'b',
|
||
'ć': 'c',
|
||
'ĉ': 'c',
|
||
'Ä': 'c',
|
||
'Ä‹': 'c',
|
||
'ḉ': 'c',
|
||
'ȼ': 'c',
|
||
'ƈ': 'c',
|
||
'É•': 'c',
|
||
'Ä': 'd',
|
||
'ḋ': 'd',
|
||
'ḑ': 'd',
|
||
'á¸': 'd',
|
||
'ḓ': 'd',
|
||
'á¸': 'd',
|
||
'Ä‘': 'd',
|
||
'É–': 'd',
|
||
'É—': 'd',
|
||
'ƌ': 'd',
|
||
'áµ': 'd',
|
||
'á¶': 'd',
|
||
'á¶‘': 'd',
|
||
'È¡': 'd',
|
||
'∂': 'd',
|
||
'Ä•': 'e',
|
||
'ế': 'e',
|
||
'á»': 'e',
|
||
'á»…': 'e',
|
||
'ể': 'e',
|
||
'Ä›': 'e',
|
||
'Ä—': 'e',
|
||
'È©': 'e',
|
||
'á¸': 'e',
|
||
'Ä™': 'e',
|
||
'Ä“': 'e',
|
||
'ḗ': 'e',
|
||
'ḕ': 'e',
|
||
'ẻ': 'e',
|
||
'È…': 'e',
|
||
'ȇ': 'e',
|
||
'ẹ': 'e',
|
||
'ệ': 'e',
|
||
'ḙ': 'e',
|
||
'ḛ': 'e',
|
||
'ɇ': 'e',
|
||
'á¶’': 'e',
|
||
'ḟ': 'f',
|
||
'Æ’': 'f',
|
||
'áµ®': 'f',
|
||
'á¶‚': 'f',
|
||
'ǵ': 'g',
|
||
'ÄŸ': 'g',
|
||
'Ä': 'g',
|
||
'ǧ': 'g',
|
||
'Ä¡': 'g',
|
||
'Ä£': 'g',
|
||
'ḡ': 'g',
|
||
'Ç¥': 'g',
|
||
'É ': 'g',
|
||
'ᶃ': 'g',
|
||
'Ä¥': 'h',
|
||
'ÈŸ': 'h',
|
||
'ḧ': 'h',
|
||
'ḣ': 'h',
|
||
'ḩ': 'h',
|
||
'ḥ': 'h',
|
||
'ḫ': 'h',
|
||
'ẖ': 'h',
|
||
'ħ': 'h',
|
||
'ⱨ': 'h',
|
||
'Ä': 'i',
|
||
'Ç': 'i',
|
||
'ḯ': 'i',
|
||
'į': 'i',
|
||
'Ä«': 'i',
|
||
'ỉ': 'i',
|
||
'ȉ': 'i',
|
||
'È‹': 'i',
|
||
'ị': 'i',
|
||
'á¸': 'i',
|
||
'ɨ': 'i',
|
||
'áµ»': 'i',
|
||
'á¶–': 'i',
|
||
'i': 'i',
|
||
'ı': 'i',
|
||
'ĵ': 'j',
|
||
'ɉ': 'j',
|
||
'ǰ': 'j',
|
||
'È·': 'j',
|
||
'Ê': 'j',
|
||
'ÉŸ': 'j',
|
||
'Ê„': 'j',
|
||
'ḱ': 'k',
|
||
'Ç©': 'k',
|
||
'Ä·': 'k',
|
||
'ḳ': 'k',
|
||
'ḵ': 'k',
|
||
'Æ™': 'k',
|
||
'ⱪ': 'k',
|
||
'á¶„': 'k',
|
||
'ĺ': 'l',
|
||
'ľ': 'l',
|
||
'ļ': 'l',
|
||
'ḷ': 'l',
|
||
'ḹ': 'l',
|
||
'ḽ': 'l',
|
||
'ḻ': 'l',
|
||
'Å‚': 'l',
|
||
'Å€': 'l',
|
||
'Æš': 'l',
|
||
'ⱡ': 'l',
|
||
'É«': 'l',
|
||
'ɬ': 'l',
|
||
'á¶…': 'l',
|
||
'É': 'l',
|
||
'È´': 'l',
|
||
'ḿ': 'm',
|
||
'á¹': 'm',
|
||
'ṃ': 'm',
|
||
'ᵯ': 'm',
|
||
'ᶆ': 'm',
|
||
'ɱ': 'm',
|
||
|
||
'Å„': 'n',
|
||
'ǹ': 'n',
|
||
'ň': 'n',
|
||
'ñ': 'n',
|
||
'á¹…': 'n',
|
||
'ņ': 'n',
|
||
'ṇ': 'n',
|
||
'ṋ': 'n',
|
||
'ṉ': 'n',
|
||
'n̈': 'n',
|
||
'ɲ': 'n',
|
||
'Æž': 'n',
|
||
'Å‹': 'n',
|
||
'áµ°': 'n',
|
||
'ᶇ': 'n',
|
||
'ɳ': 'n',
|
||
'ȵ': 'n',
|
||
'Å': 'o',
|
||
'ố': 'o',
|
||
'ồ': 'o',
|
||
'á»—': 'o',
|
||
'ổ': 'o',
|
||
'Ç’': 'o',
|
||
'È«': 'o',
|
||
'Å‘': 'o',
|
||
'á¹': 'o',
|
||
'á¹': 'o',
|
||
'È': 'o',
|
||
'ȯ': 'o',
|
||
'͘o͘': 'o',
|
||
'ȱ': 'o',
|
||
'ø': 'o',
|
||
'Ç¿': 'o',
|
||
'Ç«': 'o',
|
||
'Ç': 'o',
|
||
'Å': 'o',
|
||
'ṓ': 'o',
|
||
'ṑ': 'o',
|
||
'á»': 'o',
|
||
'È': 'o',
|
||
'È': 'o',
|
||
'Æ¡': 'o',
|
||
'á»›': 'o',
|
||
'á»': 'o',
|
||
'ỡ': 'o',
|
||
'ở': 'o',
|
||
'ợ': 'o',
|
||
'á»': 'o',
|
||
'á»™': 'o',
|
||
'ɵ': 'o',
|
||
'É”': 'o',
|
||
'ṕ': 'p',
|
||
'á¹—': 'p',
|
||
'áµ½': 'p',
|
||
'Æ¥': 'p',
|
||
'p̃': 'p',
|
||
'áµ±': 'p',
|
||
'ᶈ': 'p',
|
||
'É‹': 'q',
|
||
'Æ£': 'q',
|
||
'Ê ': 'q',
|
||
'Å•': 'r',
|
||
'Å™': 'r',
|
||
'á¹™': 'r',
|
||
'Å—': 'r',
|
||
'È‘': 'r',
|
||
'È“': 'r',
|
||
'á¹›': 'r',
|
||
'á¹': 'r',
|
||
'ṟ': 'r',
|
||
'É': 'r',
|
||
'ɽ': 'r',
|
||
'áµ²': 'r',
|
||
'ᶉ': 'r',
|
||
'ɼ': 'r',
|
||
'ɾ': 'r',
|
||
'áµ³': 'r',
|
||
'Å›': 's',
|
||
'á¹¥': 's',
|
||
'Å': 's',
|
||
'Å¡': 's',
|
||
'á¹§': 's',
|
||
'ṡẛ': 's',
|
||
'ÅŸ': 's',
|
||
'á¹£': 's',
|
||
'ṩ': 's',
|
||
'È™': 's',
|
||
's̩': 's',
|
||
'áµ´': 's',
|
||
'á¶Š': 's',
|
||
'Ê‚': 's',
|
||
'È¿': 's',
|
||
'Å¥': 't',
|
||
'ṫ': 't',
|
||
'Å£': 't',
|
||
'á¹': 't',
|
||
'È›': 't',
|
||
'á¹±': 't',
|
||
'ṯ': 't',
|
||
'ŧ': 't',
|
||
'ⱦ': 't',
|
||
'Æ': 't',
|
||
'ʈ': 't',
|
||
'̈ẗ': 't',
|
||
'áµµ': 't',
|
||
'Æ«': 't',
|
||
'ȶ': 't',
|
||
'Å': 'u',
|
||
'Ç”': 'u',
|
||
'ů': 'u',
|
||
'ǘ': 'u',
|
||
'ǜ': 'u',
|
||
'Çš': 'u',
|
||
'Ç–': 'u',
|
||
'ű': 'u',
|
||
'á¹¹': 'u',
|
||
'ų': 'u',
|
||
'Å«': 'u',
|
||
'á¹»': 'u',
|
||
'á»§': 'u',
|
||
'È•': 'u',
|
||
'È—': 'u',
|
||
'ư': 'u',
|
||
'ứ': 'u',
|
||
'ừ': 'u',
|
||
'ữ': 'u',
|
||
'á»': 'u',
|
||
'á»±': 'u',
|
||
'ụ': 'u',
|
||
'á¹³': 'u',
|
||
'á¹·': 'u',
|
||
'á¹µ': 'u',
|
||
'ʉ': 'u',
|
||
'áµ¾': 'u',
|
||
'á¶™': 'u',
|
||
'á¹½': 'v',
|
||
'ṿ': 'v',
|
||
'Ê‹': 'v',
|
||
'ᶌ': 'v',
|
||
'â±´': 'v',
|
||
'ẃ': 'w',
|
||
'áº': 'w',
|
||
'ŵ': 'w',
|
||
'ẅ': 'w',
|
||
'ẇ': 'w',
|
||
'ẉ': 'w',
|
||
'ẘ': 'w',
|
||
'áº': 'x',
|
||
'ẋ': 'x',
|
||
'á¶': 'x',
|
||
'ý': 'y',
|
||
'ỳ': 'y',
|
||
'Å·': 'y',
|
||
'ẙ': 'y',
|
||
'ÿ': 'y',
|
||
'ỹ': 'y',
|
||
'áº': 'y',
|
||
'ȳ': 'y',
|
||
'á»·': 'y',
|
||
'ỵ': 'y',
|
||
'É': 'y',
|
||
'Æ´': 'y',
|
||
'Ê': 'y',
|
||
'ź': 'z',
|
||
'ẑ': 'z',
|
||
'ž': 'z',
|
||
'ż': 'z',
|
||
'ẓ': 'z',
|
||
'ẕ': 'z',
|
||
'ƶ': 'z',
|
||
'È¥': 'z',
|
||
'ⱬ': 'z',
|
||
'áµ¶': 'z',
|
||
'á¶Ž': 'z',
|
||
'Ê': 'z',
|
||
'Ê‘': 'z',
|
||
'É€': 'z',
|
||
'α': 'a',
|
||
'β': 'b',
|
||
'γ': 'g',
|
||
'É£': 'g',
|
||
'δ': 'd',
|
||
'ð': 'd',
|
||
'ε': 'e',
|
||
'ζ': 'z',
|
||
'η': 'i',
|
||
'θ': 'th',
|
||
'ι': 'i',
|
||
'κ': 'k',
|
||
'λ': 'l',
|
||
'μ': 'm',
|
||
'µ': 'm',
|
||
'ν': 'n',
|
||
'ξ': 'x',
|
||
'ο': 'o',
|
||
'Ï€': 'p',
|
||
'Ï': 'r',
|
||
'σ': 's',
|
||
'Ï‚': 's',
|
||
'Ï„': 't',
|
||
'Ï…': 'u',
|
||
'φ': 'f',
|
||
'χ': 'ch',
|
||
'ψ': 'ps',
|
||
'ω': 'o',
|
||
'á¾³': 'a',
|
||
'ά': 'a',
|
||
'á½°': 'a',
|
||
'á¾´': 'a',
|
||
'á¾²': 'a',
|
||
'á¾¶': 'a',
|
||
'á¾·': 'a',
|
||
'á¼€': 'a',
|
||
'á¾€': 'a',
|
||
'ἄ': 'a',
|
||
'ᾄ': 'a',
|
||
'ἂ': 'a',
|
||
'ᾂ': 'a',
|
||
'ἆ': 'a',
|
||
'ᾆ': 'a',
|
||
'á¼': 'a',
|
||
'á¾': 'a',
|
||
'á¼…': 'a',
|
||
'á¾…': 'a',
|
||
'ἃ': 'a',
|
||
'ᾃ': 'a',
|
||
'ἇ': 'a',
|
||
'ᾇ': 'a',
|
||
'á¾±': 'a',
|
||
'á¾°': 'a',
|
||
'Î': 'e',
|
||
'á½²': 'e',
|
||
'á¼': 'e',
|
||
'á¼”': 'e',
|
||
'á¼’': 'e',
|
||
'ἑ': 'e',
|
||
'ἕ': 'e',
|
||
'ἓ': 'e',
|
||
'ῃ': 'i',
|
||
'ή': 'i',
|
||
'á½´': 'i',
|
||
'á¿„': 'i',
|
||
'á¿‚': 'i',
|
||
'ῆ': 'i',
|
||
'ῇ': 'i',
|
||
'á¼ ': 'i',
|
||
'á¾': 'i',
|
||
'ἤ': 'i',
|
||
'á¾”': 'i',
|
||
'á¼¢': 'i',
|
||
'á¾’': 'i',
|
||
'ἦ': 'i',
|
||
'á¾–': 'i',
|
||
'ἡ': 'i',
|
||
'ᾑ': 'i',
|
||
'á¼¥': 'i',
|
||
'ᾕ': 'i',
|
||
'á¼£': 'i',
|
||
'ᾓ': 'i',
|
||
'á¼§': 'i',
|
||
'á¾—': 'i',
|
||
'ί': 'i',
|
||
'á½¶': 'i',
|
||
'á¿–': 'i',
|
||
'á¼°': 'i',
|
||
'á¼´': 'i',
|
||
'á¼²': 'i',
|
||
'á¼¶': 'i',
|
||
'á¼±': 'i',
|
||
'á¼µ': 'i',
|
||
'á¼³': 'i',
|
||
'á¼·': 'i',
|
||
'ÏŠ': 'i',
|
||
'Î': 'i',
|
||
'á¿’': 'i',
|
||
'á¿—': 'i',
|
||
'á¿‘': 'i',
|
||
'á¿': 'i',
|
||
'ό': 'o',
|
||
'ὸ': 'o',
|
||
'á½€': 'o',
|
||
'ὄ': 'o',
|
||
'ὂ': 'o',
|
||
'á½': 'o',
|
||
'á½…': 'o',
|
||
'ὃ': 'o',
|
||
'Ï': 'u',
|
||
'ὺ': 'u',
|
||
'ῦ': 'u',
|
||
'á½': 'u',
|
||
'á½”': 'u',
|
||
'á½’': 'u',
|
||
'á½–': 'u',
|
||
'ὑ': 'u',
|
||
'ὕ': 'u',
|
||
'ὓ': 'u',
|
||
'á½—': 'u',
|
||
'Ï‹': 'u',
|
||
'ΰ': 'u',
|
||
'á¿¢': 'u',
|
||
'á¿§': 'u',
|
||
'á¿¡': 'u',
|
||
'á¿ ': 'u',
|
||
'ῳ': 'o',
|
||
'ÏŽ': 'o',
|
||
'á¿´': 'o',
|
||
'á½¼': 'o',
|
||
'ῲ': 'o',
|
||
'á¿¶': 'o',
|
||
'á¿·': 'o',
|
||
'á½ ': 'o',
|
||
'á¾ ': 'o',
|
||
'ὤ': 'o',
|
||
'ᾤ': 'o',
|
||
'á½¢': 'o',
|
||
'á¾¢': 'o',
|
||
'ὦ': 'o',
|
||
'ᾦ': 'o',
|
||
'ὡ': 'o',
|
||
'ᾡ': 'o',
|
||
'á½¥': 'o',
|
||
'á¾¥': 'o',
|
||
'á½£': 'o',
|
||
'á¾£': 'o',
|
||
'á½§': 'o',
|
||
'á¾§': 'o',
|
||
'ῤ': 'r',
|
||
'á¿¥': 'r',
|
||
'а': 'a',
|
||
'б': 'b',
|
||
'в': 'v',
|
||
'г': 'g',
|
||
'д': 'd',
|
||
'е': 'e',
|
||
'Ñ‘': 'e',
|
||
'ж': 'zh',
|
||
'з': 'z',
|
||
'и': 'i',
|
||
'й': 'j',
|
||
'к': 'k',
|
||
'л': 'l',
|
||
'м': 'm',
|
||
'н': 'n',
|
||
'о': 'o',
|
||
'п': 'p',
|
||
'Ñ€': 'r',
|
||
'Ñ': 'n',
|
||
'Ñ‚': 't',
|
||
'у': 'u',
|
||
'Ñ„': 'f',
|
||
'Ñ…': 'h',
|
||
'ц': 'ts',
|
||
'ч': 'ch',
|
||
'ш': 'sh',
|
||
'щ': 'sh',
|
||
'ÑŠ': '',
|
||
'Ñ‹': 'i',
|
||
'ь': '',
|
||
'Ñ': 'n',
|
||
'ÑŽ': 'yu',
|
||
'Ñ': 'ya',
|
||
'Ñ–': 'j',
|
||
'ѳ': 'f',
|
||
'Ñ£': 'e',
|
||
'ѵ': 'i',
|
||
'Ñ•': 'z',
|
||
'ѯ': 'ks',
|
||
'ѱ': 'ps',
|
||
'Ñ¡': 'o',
|
||
'Ñ«': 'yu',
|
||
'ѧ': 'ya',
|
||
'Ñ': 'yu',
|
||
'Ñ©': 'ya'
|
||
}
|
||
};
|
||
|
||
}(jQuery)); |