MediaWiki:Wikifier.js

Материал из свободной русской энциклопедии «Традиция»
Перейти к: навигация, поиск

Замечание: Чтобы после сохранения вступили в силу изменения стилей, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=styles&skin=common&*, если используете скин Common.

Чтобы вступили в силу изменения скриптов, перезагрузите файл //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=vector&*, если используете скин Vector, или //traditio.wiki/w/load.php?debug=false&lang=ru&modules=site&only=scripts&skin=common&*, если используете скин Common.

Гаджеты и импортируемые скрипты загружаются отдельными файлами.

p">, '$1\n$2'] // -- пустую строку впереди. , [/^== см(\.?|отрите) ?также ==$/gmi, '== См. также =='] // -- «См. также». , [/^== сноски ==$/gmi, '== Примечания =='] , [/^== (.+)[.:] ==$/gm, '== $1 =='] // -- точка или двоеточие в конце. , [/«|»|“|”|„/g, '"'] // -- временное скрытие нормальных кавычек. Нужно ли? // Тире и дефисы: , [/–/g, '-'] // -- &ndash; -> hyphen , [/&(#151|[nm]dash);/g, '—'] // -- -> &mdash; , [/(&nbsp;|\s)-{1,3} /g, ' — '] // -- hyphen -> &mdash; , [/(\d)--(\d)/g, '$1—$2'] // -- -> &mdash; , [/(\D)--(\D)/g, '$1' + u + '— $2'] // -- -> &mdash; // Точки и запятые до и после сносок: , [/,((<ref[^<\/>]*?(>[^<]+?<\/ref|\/)>)+)/gi , '{{,}}$1'] // -> запятая до; , [/\.((<ref[^<\/>]*?(>[^<]+?<\/ref|\/)>)+)/gi, '{{тчк}}$1'] // -> точка до; , [/((<ref[^<\/>]*?(>[^<]+?<\/ref|\/)>)+),/gi , '{{,}}$1'] // -> запятая после; , [/((<ref[^<\/>]*?(>[^<]+?<\/ref|\/)>)+)\./gi, '{{тчк}}$1'] // -> точка после; // Мнемоники HTML -> символы: , [/&#x([0-9a-f]{1,4});/gi, function(n,a){return String.fromCharCode(eval('0x'+a.substr(-4)))}] //&#x301; , [/&copy;/gi,'©'] , [/&reg;/gi,'®'] , [/&sect;/gi,'§'] , [/&euro;/gi,'€'] , [/&yen;/gi,'¥'] , [/&pound;/gi,'£'] , [/&deg;/g,'°'] , [/\(tm\)|\(тм\)|&trade;/gi,'™'] , [/\.\.\.|&hellip;/g,'…'] , [/\+-|&plusmn;/g,'±'] , [/~=/g,'≈'] , [/\^2(\D)/g,'²$1'] , [/\^3(\D)/g,'³$1'] , [/&((la|ra|bd|ld)quo|quot);/g,'"'] , [/([\wа-яА-ЯёЁ])'([\wа-яА-ЯёЁ])/g,'$1’$2'] //' , [/№№/g,'№'] // Годы и века , [/(\(|\s)([12]?\d{3})[\u00A0 ]?(-{1,3}|—) ?([12]?\d{3})(?![\w-°])/g, '$1$2—$4'] , [/([12]?\d{3}) ?(гг?\.)/g, '$1' + u + '$2'] , [/(\(|\s)([IVX]{1,5})[\u00A0 ]?(-{1,3}|—) ?([IVX]{1,5})(?![\w-°])/g, '$1$2—$4'] , [/([IVX]{1,5}) ?(вв?\.)/g, '$1' + u + '$2'] // Сокращения: , [/(Т|т)\.\s?е\./g, '$1о есть'] , [/(Т|т)\.\s?к\./g, '$1ак как'] , [/(В|в)\sт\. ?ч\./g, '$1 том числе'] , [/и\sт\.\s?д\./g, 'и' + u + 'т\.' + u + 'д\.'] , [/и\sт\.\s?п\./g, 'и' + u + 'т\.' + u + 'п\.'] , [/(Т|т)\.\s?н\./g, '$1\.' + u + 'н\.'] , [/н\.\s?э\./g, 'н\.' + u + 'э\.'] , [/(Д|д)(о|\.)\sн\.\s?э\./g, '$1о' + u + 'н\.' + u + 'э\.'] , [/(\d)[\u00A0 ]?(млн|млрд|трлн|(?:м|с|д|к)?м|[км]г)\.?(?=[,;.]| "?[а-яё-])/g, '$1' + u + '$2'] , [/(\d)[\u00A0 ](тыс)([^\.А-Яа-яЁё])/g, '$1' + u + '$2.$3'] , [/ISBN:\s?(?=[\d\-]{8,17})/, 'ISBN '] // Пробелы: , [/^([#*:]+)[ \t\f\v]*([^ \t\f\v*#:;])/gm, '$1 $2'] // -- в списках. , [/(\S) (-{1,3}|—) (\S)/g, '$1' + u + '— $3'] , [/([А-Я]\.) ?([А-Я]\.) ?([А-Я][а-я])/g, '$1' + u + '$2' + u + '$3'] , [/([А-Я]\.)([А-Я]\.)/g, '$1 $2'] , [/([а-я]\.)([А-ЯA-Z])/g, '$1 $2'] // -- после точки. , [/([)"а-яa-z\]])\s*,([\[("а-яa-z])/g, '$1, $2'] // -- после точки. , [/([)"а-яa-z\]])\s([,;])\s([\[("а-яa-z])/g, '$1$2 $3'] , [/([^%\/\w]\d+?(?:[.,]\d+?)?) ?([%‰])(?!-[А-Яа-яЁё])/g, '$1' + u + '$2'] // -- проценты. , [/(\d) ([%‰])(?=-[А-Яа-яЁё])/g, '$1$2'] // -- 5%-й , [/([№§])(\s*)(\d)/g, '$1'+u+'$3'] , [/\( +/g, '('] , [/ +\)/g, ')'] // -- убрать пробелы у внутренних сторон скобок. // Температура: , [/([\s\d=≈≠≤≥<>("'|])([+±−-]?\d+?(?:[.,]\d+?)?)(([ °^*]| [°^*])[CС])(?=[\s"').,;!?|])/gm, '$1$2' + u + '°C'] , [/([\s\d=≈≠≤≥<>("'|])([+±−-]?\d+?(?:[.,]\d+?)?)(([ °^*]| [°^*])F)(?=[\s"').,;|!?])/gm, '$1$2' + u + '°F'] // Десятичная точка → запятая: , [/(\s\d+)\.(\d+[\u00A0 ]*[%‰°])/gi, '$1,$2'] ]; s = runReplacements (s, replacements3); // Восстановление кавычек: "" → «»: for (var i=1; i<=2; i++) { s = s.replace (/([\s\u00A0·\x02!|#'"\/(;+-])"([^"]*)([^\s"(|])"([^a-zа-яё])/ig, '$1«$2$3»$4'); //" } while (/«[^»]*«/.test(txt)) { s = s.replace (/«([^»]*)«([^»]*)»/g, '«$1„$2“'); } s = s.substr (1, s.length - 2); // -- удаление начального и конечного пробелов. if ('0'.replace('0', '$$') == '$') { // -- $ в регэксах, как всегда IE особенный. for (var i = 0; i < hidden.length; i++) { hidden [i] = hidden [i].replace (/\$/g, '$$$$'); } } // Раскрытие скрытого в hide (): while (hidden.length > 0) { s = s.replace ('\x01' + hidden.length + '\x02', hidden.pop ()); } return s; // Вспомогательные функции: // Выполнение массива замен: function runReplacements (s, pairs) { jQuery.each (pairs, function () { s = s.replace (this [0], this [1]);}); return s; } // Скрытие фрагментов путём окружения \x01 и \x02: function hide (txt, re) { return txt.replace (re, function (s) {return '\x01' + hidden.push (s) + '\x02'}); } function hideTag (txt, tag) { return hide (txt, RegExp ('<' + tag + '( [^>]+)?>[\\s\\S]+?<\\/' + tag + '>', 'gi')); } } pound;/gi,'£'] , [/
Источник — «https://traditio.wiki/w/index.php?title=MediaWiki:Wikifier.js&oldid=448101»