MediaWiki:Gadget-ll-script-uwagi.js

Z Wikipedii, wolnej encyklopedii

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
// skrypt zamienia literki wstecznych linków w przypisach na liczby dziesiętne
// używany przez [[Szablon:Uwagi]]

var cache,
	pattern = /[a-z]+$/,
	baseA = "a".charCodeAt(0),
	base = "z".charCodeAt(0) - baseA + 1,
	exports = {};
	
function convertToDecimal ( value ) {
	if (!cache.has(value)) {
		var result = 0;
		// Numer kolejny sekwencji wśród sekwencji o tejże długości
		for(var i = 0; i < value.length; i++) {
			var digit = value.charCodeAt(i) - baseA;
			result = result * base + digit;
		}
		
		// Uwzględnij kombinacje z mniejszą ilością znaków
		if (value.length > 1) {
			result += Math.pow(base + 1, value.length - 2) * base;
		}
		
		cache.set(value, (result + 1).toString());
	}
	
	return cache.get(value);
}

exports.testPreconditions = $.noop;

exports.initialize = function () {
	cache = new Map();
	cache.set("a", "1");
	cache.set("b", "2");
	cache.set("c", "3");
	cache.set("d", "4");
	cache.set("e", "5");
};

exports.filter = $.noop;

exports.process = function ( $els ) {
	$els.each(function(){
		$(".mw-cite-backlink sup a", this).each(function(){
			$(this).html($(this).html().replace(pattern, function(value, offset, full){
				return convertToDecimal(value);
			}));
		});
	});
};

module.exports = exports;