From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

// Based on [[User:Frietjes/infoboxgap.js]]

$.when( $.ready, mw.loader.using( 'jquery.textSelection' ) ).then(function() {



var $textbox = $( '#wpTextbox1' );

var myContent = $textbox.textSelection('getContents');

if(mw.config.get('wgNamespaceNumber') != -1 && myContent) {

	mw.loader.using(['mediawiki.util']).done( function() {

	var portletlink1 = mw.util.addPortletLink('p-tb', '#', 'Infobox gap', 't-gap', 'Insert a numbering gap in an infobox', '');

	$(portletlink1).click(function(e) {

		e.preventDefault();

		myContent = $textbox.textSelection('getContents'); // reload in case the content has changed after the script was loaded

		myContent = wpInfoboxGap(myContent);

		$textbox.textSelection('setContents', myContent);

    });

    var portletlink2 = mw.util.addPortletLink('p-tb', '#', 'Infobox renumber', 't-ren', 'Remove numbering gaps in an infobox', '');

    $(portletlink2).click(function(e) {

    	e.preventDefault();

		myContent = $textbox.textSelection('getContents'); // reload in case the content has changed after the script was loaded

    	myContent = wpInfoboxRenumber(myContent);

		$textbox.textSelection('setContents', myContent);

    });

	});

}



// -------------------------------------------------------------------------------- //

function wpInfoboxGap(txt)

{

 var i = 0;

 var nums = txt.match(/(?:label|data|[^a-z0-9]header|class)[0-9]+(?:[a-z][ ]*=|[ ]*=)/g);

 for(i = 0; i < nums.length; i++) {

   numsi = numsi].replace(/[^0-9]*([0-9]+)[^0-9]*/, '$1');

 }

 nums = nums.sort(function(a,b){return a-b});

 var firstnum = Number(nums.shift());

 var lastnum = Number(nums.pop());



 var s = Number(prompt("Gap number (between " + String(firstnum) + " and " + String(lastnum) + ")?"));

 var t = Number(prompt("Size of gap to insert?", 1));

 if ( (s >= firstnum) && (s <= lastnum + 1) && (t != 0) ) {

 	var firstgap = 0;

 	for(i = s; i < lastnum; i++) {

 		var re1 = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(i) + '([a-z][ ]*=|[ ]*=)', 'g');

 		if(txt.search(re1) < 0) {

 			if(firstgap > 0) {

	 			lastnum = i - 1;

 			}

 		} else {

 			firstgap = 1;

 		}

 	}

 	for(i = lastnum; i >= s; i--) {

 		var re2 = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(i) + '([a-z][ ]*=|[ ]*=)', 'g');

	 	txt = txt.replace(re2,'$1' + String(i+t) + '$2');

   }

 }

 return txt;

}



function wpInfoboxRenumber(txt)

{

 var i = 0;

 var nums = txt.match(/(?:label|data|[^a-z0-9]header|class|rowstyle)[0-9]+(?:[a-z][ ]*=|[ ]*=)/g);

 for(i = 0; i < nums.length; i++) {

   numsi = parseInt(numsi].replace(/[^0-9]*([0-9]+)[^0-9]*/, '$1'));

 }



 var k = 1;

 var currnum  = nums0];

 var lastnum = nums0];

 for(i = 0; i < nums.length; i++) {

   currnum = numsi];

   if (currnum != lastnum) {

     k = k + 1;

     lastnum = currnum;

   }

   var re = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(numsi]) + '([a-z][ ]*=|[ ]*=)', 'g');

   txt = txt.replace(re,'$1 WPFOOMARK ' + String(k) + '$2');

 }

 txt = txt.replace(/ WPFOOMARK /g, '');

 return txt;

}



});
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

// Based on [[User:Frietjes/infoboxgap.js]]

$.when( $.ready, mw.loader.using( 'jquery.textSelection' ) ).then(function() {



var $textbox = $( '#wpTextbox1' );

var myContent = $textbox.textSelection('getContents');

if(mw.config.get('wgNamespaceNumber') != -1 && myContent) {

	mw.loader.using(['mediawiki.util']).done( function() {

	var portletlink1 = mw.util.addPortletLink('p-tb', '#', 'Infobox gap', 't-gap', 'Insert a numbering gap in an infobox', '');

	$(portletlink1).click(function(e) {

		e.preventDefault();

		myContent = $textbox.textSelection('getContents'); // reload in case the content has changed after the script was loaded

		myContent = wpInfoboxGap(myContent);

		$textbox.textSelection('setContents', myContent);

    });

    var portletlink2 = mw.util.addPortletLink('p-tb', '#', 'Infobox renumber', 't-ren', 'Remove numbering gaps in an infobox', '');

    $(portletlink2).click(function(e) {

    	e.preventDefault();

		myContent = $textbox.textSelection('getContents'); // reload in case the content has changed after the script was loaded

    	myContent = wpInfoboxRenumber(myContent);

		$textbox.textSelection('setContents', myContent);

    });

	});

}



// -------------------------------------------------------------------------------- //

function wpInfoboxGap(txt)

{

 var i = 0;

 var nums = txt.match(/(?:label|data|[^a-z0-9]header|class)[0-9]+(?:[a-z][ ]*=|[ ]*=)/g);

 for(i = 0; i < nums.length; i++) {

   numsi = numsi].replace(/[^0-9]*([0-9]+)[^0-9]*/, '$1');

 }

 nums = nums.sort(function(a,b){return a-b});

 var firstnum = Number(nums.shift());

 var lastnum = Number(nums.pop());



 var s = Number(prompt("Gap number (between " + String(firstnum) + " and " + String(lastnum) + ")?"));

 var t = Number(prompt("Size of gap to insert?", 1));

 if ( (s >= firstnum) && (s <= lastnum + 1) && (t != 0) ) {

 	var firstgap = 0;

 	for(i = s; i < lastnum; i++) {

 		var re1 = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(i) + '([a-z][ ]*=|[ ]*=)', 'g');

 		if(txt.search(re1) < 0) {

 			if(firstgap > 0) {

	 			lastnum = i - 1;

 			}

 		} else {

 			firstgap = 1;

 		}

 	}

 	for(i = lastnum; i >= s; i--) {

 		var re2 = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(i) + '([a-z][ ]*=|[ ]*=)', 'g');

	 	txt = txt.replace(re2,'$1' + String(i+t) + '$2');

   }

 }

 return txt;

}



function wpInfoboxRenumber(txt)

{

 var i = 0;

 var nums = txt.match(/(?:label|data|[^a-z0-9]header|class|rowstyle)[0-9]+(?:[a-z][ ]*=|[ ]*=)/g);

 for(i = 0; i < nums.length; i++) {

   numsi = parseInt(numsi].replace(/[^0-9]*([0-9]+)[^0-9]*/, '$1'));

 }



 var k = 1;

 var currnum  = nums0];

 var lastnum = nums0];

 for(i = 0; i < nums.length; i++) {

   currnum = numsi];

   if (currnum != lastnum) {

     k = k + 1;

     lastnum = currnum;

   }

   var re = new RegExp('(label|data|[^a-z0-9]header|class|rowstyle)' + String(numsi]) + '([a-z][ ]*=|[ ]*=)', 'g');

   txt = txt.replace(re,'$1 WPFOOMARK ' + String(k) + '$2');

 }

 txt = txt.replace(/ WPFOOMARK /g, '');

 return txt;

}



});

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook