ميډياويکي:Gadget-CodeLinks.js

د ويکيسيند لخوا

يادښت: د غوره توبونو د خوندي کولو وروسته، خپل د کتنمل (بروزر) ساتل شوې حافظه تازه کړی.

  • فايرفاکس/ سفري: په دې کتنمل کې د Reload د ټکوهلو په وخت د Shift تڼۍ نيولې وساتی، او يا هم Ctrl-F5 يا Ctrl-Rتڼۍ کېښکاږۍ (په Apple Mac کمپيوټر باندې ⌘-R کېښکاږۍ)
  • گووگل کروم: په دې کتنمل کې د Ctrl-Shift-R تڼۍ کېښکاږۍ (د مک لپاره ⌘-Shift-R)
  • انټرنټ اېکسپلورر: په دې کتنمل کې د Refresh د ټکوهلو په وخت کې د Ctrl تڼۍ کېښکاږلې ونيسۍ، او يا هم د Ctrl-F5 تڼۍ کېښکاږۍ
  • اوپرا: په دې کتنمل کې د خپل براوزر ساتل شوې حافظه پدې توگه سپينولی شی Tools→Preferences
'use strict'; /*jshint undef:true, latedef:true, boss:true */
/*global mw, jQuery */
jQuery(function() {

function findLinks(containers) {
	function processComment(node) {
		var m1, m2, textNode = node.firstChild; // always a text node.
		while (
			(m1 = /\[\[([^|{}\[\]\n]+)?(?:\|.*?)?]]/.exec(textNode.data)) ||
			(m2 = /\{\{(#invoke:)?([^|{}\[\]\n#]+)(?=\||}})/i.exec(textNode.data))
		) {
			var start, stop, link = document.createElement('a');
			if (m1 && (!m2 || (m1.index < m2.index))) {
				link.href = mw.util.getUrl(m1[1]);
				link.appendChild(document.createTextNode(m1[0]));
				start = m1.index;
				stop = m1.index + m1[0].length;
			} else {
				if (m2[1]) {
					link.href = mw.util.getUrl('Module:' + m2[2]);
					link.appendChild(document.createTextNode(m2[2]));
					start = m2.index + "{{#invoke:".length;
					stop = m2.index + m2[0].length;
				} else {
					link.href = mw.util.getUrl('Template:' + m2[2]);
					link.appendChild(document.createTextNode(m2[2]));
					start = m2.index + 2;
					stop = m2.index + m2[0].length;
				}
			}

			node.insertBefore(link, textNode);
			node.insertBefore(document.createTextNode(textNode.data.substr(0, start)), link);
			textNode.data = textNode.data.substr(stop);
		}
	}
	for (var j = 0; j < containers.length; j++) {
		var i, co1 = containers[j].getElementsByClassName('co1');
		for (i = 0; i < co1.length; ++i) {
			processComment(co1[i]);
		}
		var comulti = containers[j].getElementsByClassName('coMULTI');
		for (i = 0; i < comulti.length; ++i) {
			processComment(comulti[i]);
		}
	}
}

findLinks(document.getElementsByClassName('source-javascript'));
findLinks(document.getElementsByClassName('source-lua'));
findLinks(document.getElementsByClassName('source-css'));

});