1{ 2/* the slugify code is adapted from the urlify code of django, 3 * django/contrib/admin/static/admin/js/urlify.js. 4 */ 5 6var LATIN_MAP = { 7 'Ã': 'A', 'Ã': 'A', 'Ã': 'A', 'Ã': 'A', 'Ã': 'A', 'à ': 'A', 'Ã': 'AE', 'Ã': 8 'C', 'Ã': 'E', 'Ã': 'E', 'Ã': 'E', 'Ã': 'E', 'Ã': 'I', 'Ã': 'I', 'Ã': 'I', 9 'Ã': 'I', 'Ã': 'D', 'Ã': 'N', 'Ã': 'O', 'Ã': 'O', 'Ã': 'O', 'Ã': 'O', 'Ã': 10 'O', 'Å': 'O', 'Ã': 'O', 'Ã': 'U', 'Ã': 'U', 'Ã': 'U', 'Ã': 'U', 'Ű': 'U', 11 'Ã': 'Y', 'Ã': 'TH', 'Ÿ': 'Y', 'Ã': 'ss', 'à ':'a', 'á':'a', 'â': 'a', 'ã': 12 'a', 'ä': 'a', 'Ã¥': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e', 'é': 'e', 'ê': 'e', 13 'ë': 'e', 'ì': 'i', 'Ã': 'i', 'î': 'i', 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 14 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o', 'Å': 'o', 'ø': 'o', 'ù': 'u', 15 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' 16}; 17var LATIN_SYMBOLS_MAP = { 18 '©':'c', 'â¬':'eur' 19}; 20var GREEK_MAP = { 21 'α':'a', 'β':'b', 'γ':'g', 'δ':'d', 'ε':'e', 'ζ':'z', 'η':'h', 'θ':'8', 22 'ι':'i', 'κ':'k', 'λ':'l', 'μ':'m', 'ν':'n', 'ξ':'3', 'ο':'o', 'Ï':'p', 23 'Ï':'r', 'Ï':'s', 'Ï':'t', 'Ï ':'y', 'Ï':'f', 'Ï':'x', 'Ï':'ps', 'Ï':'w', 24 'ά':'a', 'Î':'e', 'ί':'i', 'Ï':'o', 'Ï':'y', 'ή':'h', 'Ï':'w', 'Ï':'s', 25 'Ï':'i', 'ΰ':'y', 'Ï':'y', 'Î':'i', 26 'Î':'A', 'Î':'B', 'Î':'G', 'Î':'D', 'Î':'E', 'Î':'Z', 'Î':'H', 'Î':'8', 27 'Î':'I', 'Î':'K', 'Î':'L', 'Î':'M', 'Î':'N', 'Î':'3', 'Î':'O', 'Î ':'P', 28 'Ρ':'R', 'Σ':'S', 'Τ':'T', 'Î¥':'Y', 'Φ':'F', 'Χ':'X', 'Ψ':'PS', 'Ω':'W', 29 'Î':'A', 'Î':'E', 'Î':'I', 'Î':'O', 'Î':'Y', 'Î':'H', 'Î':'W', 'Ϊ':'I', 30 'Ϋ':'Y' 31}; 32var TURKISH_MAP = { 33 'Å':'s', 'Å':'S', 'ı':'i', 'İ':'I', 'ç':'c', 'Ã':'C', 'ü':'u', 'Ã':'U', 34 'ö':'o', 'Ã':'O', 'Ä':'g', 'Ä':'G' 35}; 36var RUSSIAN_MAP = { 37 'а':'a', 'б':'b', 'в':'v', 'г':'g', 'д':'d', 'е':'e', 'Ñ':'yo', 'ж':'zh', 38 'з':'z', 'и':'i', 'й':'j', 'к':'k', 'л':'l', 'м':'m', 'н':'n', 'о':'o', 39 'п':'p', 'Ñ':'r', 'Ñ':'s', 'Ñ':'t', 'Ñ':'u', 'Ñ':'f', 'Ñ ':'h', 'Ñ':'c', 40 'Ñ':'ch', 'Ñ':'sh', 'Ñ':'sh', 'Ñ':'', 'Ñ':'y', 'Ñ':'', 'Ñ':'e', 'Ñ':'yu', 41 'Ñ':'ya', 42 'Ð':'A', 'Ð':'B', 'Ð':'V', 'Ð':'G', 'Ð':'D', 'Ð':'E', 'Ð':'Yo', 'Ð':'Zh', 43 'Ð':'Z', 'Ð':'I', 'Ð':'J', 'Ð':'K', 'Ð':'L', 'Ð':'M', 'Ð':'N', 'Ð':'O', 44 'Ð':'P', 'Ð ':'R', 'С':'S', 'Т':'T', 'У':'U', 'Ф':'F', 'Ð¥':'H', 'Ц':'C', 45 'Ч':'Ch', 'Ш':'Sh', 'Щ':'Sh', 'Ъ':'', 'Ы':'Y', 'Ь':'', 'Ð':'E', 'Ю':'Yu', 46 'Я':'Ya' 47}; 48var UKRAINIAN_MAP = { 49 'Ð':'Ye', 'Ð':'I', 'Ð':'Yi', 'Ò':'G', 'Ñ':'ye', 'Ñ':'i', 'Ñ':'yi', 'Ò':'g' 50}; 51var CZECH_MAP = { 52 'Ä':'c', 'Ä':'d', 'Ä':'e', 'Å': 'n', 'Å':'r', 'Å¡':'s', 'Å¥':'t', 'ů':'u', 53 'ž':'z', 'Ä':'C', 'Ä':'D', 'Ä':'E', 'Å': 'N', 'Å':'R', 'Å ':'S', 'Ť':'T', 54 'Å®':'U', 'Ž':'Z' 55}; 56var POLISH_MAP = { 57 'Ä ':'a', 'Ä':'c', 'Ä':'e', 'Å':'l', 'Å':'n', 'ó':'o', 'Å':'s', 'ź':'z', 58 'ż':'z', 'Ä':'A', 'Ä':'C', 'Ä':'E', 'Å':'L', 'Å':'N', 'Ã':'O', 'Å':'S', 59 'Ź':'Z', 'Å»':'Z' 60}; 61var LATVIAN_MAP = { 62 'Ä':'a', 'Ä':'c', 'Ä':'e', 'Ä£':'g', 'Ä«':'i', 'Ä·':'k', 'ļ':'l', 'Å':'n', 63 'Å¡':'s', 'Å«':'u', 'ž':'z', 'Ä':'A', 'Ä':'C', 'Ä':'E', 'Ä¢':'G', 'Ī':'I', 64 'Ķ':'K', 'Ä»':'L', 'Å ':'N', 'Å ':'S', 'Ū':'U', 'Ž':'Z' 65}; 66var ARABIC_MAP = { 67 'Ø£':'a', 'ب':'b', 'ت':'t', 'Ø«': 'th', 'ج':'g', 'Ø':'h', 'Ø®':'kh', 'د':'d', 68 'ذ':'th', 'ر':'r', 'ز':'z', 'س':'s', 'Ø´':'sh', 'ص':'s', 'ض':'d', 'Ø·':'t', 69 'ظ':'th', 'ع':'aa', 'غ':'gh', 'Ù':'f', 'Ù':'k', 'Ù':'k', 'Ù':'l', 'Ù ':'m', 70 'Ù':'n', 'Ù':'h', 'Ù':'o', 'Ù':'y' 71}; 72var LITHUANIAN_MAP = { 73 'Ä ':'a', 'Ä':'c', 'Ä':'e', 'Ä':'e', 'į':'i', 'Å¡':'s', 'ų':'u', 'Å«':'u', 74 'ž':'z', 75 'Ä':'A', 'Ä':'C', 'Ä':'E', 'Ä':'E', 'Ä®':'I', 'Å ':'S', 'Ų':'U', 'Ū':'U', 76 'Ž':'Z' 77}; 78var SERBIAN_MAP = { 79 'Ñ':'dj', 'Ñ':'j', 'Ñ':'lj', 'Ñ':'nj', 'Ñ':'c', 'Ñ':'dz', 'Ä':'dj', 80 'Ð':'Dj', 'Ð':'j', 'Ð':'Lj', 'Ð':'Nj', 'Ð':'C', 'Ð':'Dz', 'Ä':'Dj' 81}; 82var AZERBAIJANI_MAP = { 83 'ç':'c', 'É':'e', 'Ä':'g', 'ı':'i', 'ö':'o', 'Å':'s', 'ü':'u', 84 'Ã':'C', 'Æ':'E', 'Ä':'G', 'İ':'I', 'Ã':'O', 'Å':'S', 'Ã':'U' 85}; 86 87var ALL_DOWNCODE_MAPS = [ 88 LATIN_MAP, 89 LATIN_SYMBOLS_MAP, 90 GREEK_MAP, 91 TURKISH_MAP, 92 RUSSIAN_MAP, 93 UKRAINIAN_MAP, 94 CZECH_MAP, 95 POLISH_MAP, 96 LATVIAN_MAP, 97 ARABIC_MAP, 98 LITHUANIAN_MAP, 99 SERBIAN_MAP, 100 AZERBAIJANI_MAP 101]; 102 103var Downcoder = { 104 'Initialize': function() { 105 if (Downcoder.map) { // already made 106 return; 107 } 108 Downcoder.map = {}; 109 Downcoder.chars = []; 110 for (var i=0; i<ALL_DOWNCODE_MAPS.length; i++) { 111 var lookup = ALL_DOWNCODE_MAPS[i]; 112 for (var c in lookup) { 113 if (lookup.hasOwnProperty(c)) { 114 Downcoder.map[c] = lookup[c]; 115 } 116 } 117 } 118 for (var k in Downcoder.map) { 119 if (Downcoder.map.hasOwnProperty(k)) { 120 Downcoder.chars.push(k); 121 } 122 } 123 Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g'); 124 } 125}; 126 127window.slugify = function(value) { 128 Downcoder.Initialize(); 129 s = value.replace(Downcoder.regex, function(m) {return Downcoder.map[m]; }); 130 s = s.replace(/\'/g, ' '); // keep quotes as spaces 131 s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars 132 s = s.replace(/^\s+|\s+$/g, '');
132 // trim leading/trailing spaces 133 s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens 134 s = s.toLowerCase(); // convert to lowercase 135 return s; 136} 137 138}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.