Користувач:Oleksandr Tahayev/sortname.js

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
// Додає до редактора кнопку що автоматично покращує розміту. (Краще за вікіфікатор :)
jQuery(function ($) {


var improve = function() {
	apply_changes([
	[
		/{{sortname\|(\D+)\|(\D+)\|dab=basketball, born (\d+)}}/g,
		'[[$1 $2 (basketball, born $3)|$1 $2]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)\|dab=basketball}}/g,
		'[[$1 $2 (basketball)|$1 $2]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)\|(\D+) (\D+)}}s/g,
		'[[$3 $4s|$1 $2]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)d}}/g,
		'[[$1 $2d]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)\|(\D+) (\D+) Jr\.}}/g,
		'[[$1 $2 Jr.|$1 $2]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)f}}/g,
		'[[$1 $2f]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)g}}/g,
		'[[$1 $2g]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)h}}/g,
		'[[$1 $2h]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)i}}/g,
		'[[$1 $2i]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)j}}/g,
		'[[$1 $2j]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)k}}/g,
		'[[$1 $2k]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)l}}/g,
		'[[$1 $2l]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)m}}/g,
		'[[$1 $2m]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)n}}/g,
		'[[$1 $2n]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)o}}/g,
		'[[$1 $2o]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)p}}/g,
		'[[$1 $2p]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)q}}/g,
		'[[$1 $2q]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)r}}/g,
		'[[$1 $2r]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)s}}/g,
		'[[$1 $2s]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)t}}/g,
		'[[$1 $2t]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)u}}/g,
		'[[$1 $2u]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)v}}/g,
		'[[$1 $2v]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)w}}/g,
		'[[$1 $2w]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)x}}/g,
		'[[$1 $2x]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)y}}/g,
		'[[$1 $2y]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)z}}/g,
		'[[$1 $2z]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)a}}/g,
		'[[$1 $2a]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)b}}/g,
		'[[$1 $2b]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)c}}/g,
		'[[$1 $2c]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)d}}/g,
		'[[$1 $2d]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)e}}/g,
		'[[$1 $2e]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)f}}/g,
		'[[$1 $2f]]'
	],	
	[
		/{{sortname\|(\D+)\|(\D+)\|(\D+) (\D+) \(basketball\)}}/g,
		'[[$1 $2 (basketball)|$1 $2]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)d}}/g,
		'[[$1 $2d]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)\|(\D+) (\D+) Jr\.}}/g,
		'[[$1 $2 Jr.|$1 $2]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)f}}/g,
		'[[$1 $2f]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)g}}/g,
		'[[$1 $2g]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)h}}/g,
		'[[$1 $2h]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)i}}/g,
		'[[$1 $2i]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)j}}/g,
		'[[$1 $2j]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)k}}/g,
		'[[$1 $2k]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)l}}/g,
		'[[$1 $2l]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)m}}/g,
		'[[$1 $2m]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)n}}/g,
		'[[$1 $2n]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)o}}/g,
		'[[$1 $2o]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)p}}/g,
		'[[$1 $2p]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)q}}/g,
		'[[$1 $2q]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)r}}/g,
		'[[$1 $2r]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)s}}/g,
		'[[$1 $2s]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)t}}/g,
		'[[$1 $2t]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)u}}/g,
		'[[$1 $2u]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)v}}/g,
		'[[$1 $2v]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)w}}/g,
		'[[$1 $2w]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)x}}/g,
		'[[$1 $2x]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)y}}/g,
		'[[$1 $2y]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)z}}/g,
		'[[$1 $2z]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)a}}/g,
		'[[$1 $2a]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)b}}/g,
		'[[$1 $2b]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)c}}/g,
		'[[$1 $2c]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)d}}/g,
		'[[$1 $2d]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)e}}/g,
		'[[$1 $2e]]'
	],	
	[
		/{{Sortname\|(\D+)\|(\D+)f}}/g,
		'[[$1 $2f]]'
	],	
	[
		/{{convert\|(\d+)\.(\d+)\|m\|ftin\|abbr=on}}/g,
		'$1,$2 м'
	],
	[
		/{{convert\|(\d+)\|kg\|lb\|abbr=on\|sortable=on}}/g,
		'$1 кг'
	],
	[
		/{{convert\|(\d+)\.(\d+)\|m\|ftin\|abbr=on\|sortable=on}}/g,
		'$1,$2 м'
	],
	[
		/{{convert\|(\d+)(\d+)(\d+)\|cm\|ftin\|abbr=on}}/g,
		'$1,$2$3 м'
	],
	[
		/(\d+)\.(\d+) m \((\d+) ft (\d+) in\)/g,
		'$1,$2 м'
	],
	[
		/(\d+) kg \((\d+) lb\)/g,
		'$1 кг'
	],
	[
		//g,
		''
	],
	[
		//g,
		''
	],	
	[
		//g,
		''
	],
	[
		//g,
		''
	],
	[
		//g,
		''
	],
	[
		//g,
		''
	],		
	[
		/{{Sortname\|(\D+)\|(\D+)\|(\D+) (\D+) \(basketball\)}}/g,
		'[[$1 $2 (basketball)|$1 $2]]'
	]	
])
};

var apply_changes = function(changes, comment) {
	var old_value = document.editform.wpTextbox1.value;
	try {
		var change = null
		for (var i = 0; i < changes.length; i++) {
			change = changes[i]
			document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(change[0], change[1]);
		}
	} catch(err) {
		alert('Помилка в зміні "' + comment + '":\n' + err.message);
	}
	
	if(document.editform.wpTextbox1.value != old_value) { // if changed
		// add comment
		if(document.editform.wpSummary.value.trim()) {
			document.editform.wpSummary.value += ', ';
		}
		document.editform.wpSummary.value += comment;
	}
};

mw.loader.using('ext.wikiEditor').then(function () {
	$('#wpTextbox1').wikiEditor('addToToolbar', {
		section: 'advanced',
		group: 'format',
		tools: {
			"wikifixer": {
				label: 'Заміна імен вітрильників на українські',
				type: 'button',
				icon: '//upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Gnome-devel.svg/22px-Gnome-devel.svg.png',
				action: {
	           		type: 'callback',
	                execute: function(context) { 
	                	improve();
	                }
				}
			}
		}
	});
});

});