// https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wikificator.js function processLink( link, left, right ) { left = left.replace( /[ _\u00A0]+/g, ' ' ).trim(); if ( left.match( /^(?:Категорія|Файл) ?:/ ) ) { return '' + right + ''; } right = right.replace( / {2,}/g, ' ' ).trim(); var inLink = right.substr( 0, left.length ); var afterLink = right.substr( left.length ); var uniLeft = left.substr( 0, 1 ).toUpperCase() + left.substr( 1 ); var uniRight = ( right.substr( 0, 1 ).toUpperCase() + right.substr( 1 ) ).replace( /[_\u00A0]/g, ' ' ); if ( uniRight.indexOf( uniLeft ) === 0 && afterLink.match( /^[a-zа-яёґєії]*$/ ) ) { return '' + inLink + '' + afterLink; } else { return '' + right + ''; } }

window.wfPlugins = window.wfPlugins || []; window.wfPlugins.push(function (txt, r) { r( /\[\[([^|[\]\n]+)\|([^|[\]\n]+)\]\]/g, processLink ); // link shortening r( / /g, '\u00A0' ); });