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.

importScript('User:Numbermaniac/goToTop.js'); // [[User:Numbermaniac/goToTop.js]]



/**

 * Code copied from https://species.wikimedia.org/?title=User:Orchi/common.js&action=edit

 * Thanks to User:Orchi who passed this on from wikispecies to some EN wikipedia users

 * 

 * Create redirects to a given page

 * First click on the toolbox link

 * highlights possible redirects

 * second click creates them

 *

 * It requires a h3 section which is exactly named "Synonyms" and 

 * then a ul/li structure and italic names of the redirects to create.

 *

 * Tested at [[Epipactis helleborine subsp. helleborine]]

 *

 * @author Rillke

 * @license GPL v.3

 **/ 

 

 (function ($, mw) {



	mw.util.addCSS(

		'.syn-x { background:#ddd; cursor:pointer; }' +

		'.syn-to-create { background:#ffb; outline:dotted 1px #999; }' +

		'.syn-to-create:before { content: \" to be created - \"; }' +

		'.syn-created { background:#bfb; }' +

		'.syn-create-err { background:#fbb; }');

	var p = mw.util.addPortletLink('p-tb', '#createRedirs', 'Create Redirects',

		't-syn-redir', 'Create redirects using AJAX in batch');



	if (!p) return;

	var $p = $(p),

		$syns = $(),

		$count = $('<span>'),

		$txt = $p.find('a');



	$txt = $txt.length ? $txt : $p;



	var __updateCount = function () {

		$count.text('(' + $syns.filter('.syn-to-create').length + ')');

	};



	var __create = function () {

		var mwa = new mw.Api();

		// At the time of writing this mw.Api.edit was broken 

		// (no callback because it did not return the promise object 

		// nor did it forward the callback functions properly)



		var _post = function () {

			if (!$syns.filter('.syn-to-create').length) return $txt.text("Done!");

			var $el = $syns.filter('.syn-to-create').eq(0),

				title = $el.text();



			__updateCount();

			mwa.post({

				action: 'edit',

				createonly: true,

				token: mw.user.tokens.get('csrfToken'),

				text: '#REDIRECT [[' + mw.config.get('wgPageName').replace(/_/g, ' ') + ']]',

				title: title,

				watchlist: 'nochange'

			}).done(function () {

				$el.removeClass('syn-to-create').addClass('syn-created');

				_post();

			}).fail(function () {

				$el.removeClass('syn-to-create').addClass('syn-create-err');

				_post();

			});

		};

		_post();

	};

	var __highlight = function () {

		var _textsWeHave = {};

		var _highlightLi = function (i, el) {

			var $el = $(el),

				$i = $el.find('i:first'),

				t = $i.text();



			if (t in _textsWeHave) return;

			_textsWeHavet = true;

			$syns = $syns.add($i.addClass('syn-to-create syn-x'));

		};



		$('h3').find('#Synonyms').parents('h3').nextUntil('h3,h2,hr').find('li').each(_highlightLi);



		$syns.click(function () {

			$(this).toggleClass('syn-to-create');

			__updateCount();

		});

		__updateCount();

		$txt.text("Create Redirs: ").append($count);

		$p.unbind('click').click(function (e) {

			e.preventDefault();

			$p.unbind('click').addClass('ui-state-disabled');

			$.createSpinner().prependTo($txt);

			__create($syns);

		});

	};



	$p.click(function (e) {

		e.preventDefault();

		$p.unbind('click');

		mw.loader.using(['jquery.spinner', 'mediawiki.util', 'mediawiki.api', 'mediawiki.user'], function () {

			__highlight();

		});

	});

}(jQuery, mediaWiki));
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.

importScript('User:Numbermaniac/goToTop.js'); // [[User:Numbermaniac/goToTop.js]]



/**

 * Code copied from https://species.wikimedia.org/?title=User:Orchi/common.js&action=edit

 * Thanks to User:Orchi who passed this on from wikispecies to some EN wikipedia users

 * 

 * Create redirects to a given page

 * First click on the toolbox link

 * highlights possible redirects

 * second click creates them

 *

 * It requires a h3 section which is exactly named "Synonyms" and 

 * then a ul/li structure and italic names of the redirects to create.

 *

 * Tested at [[Epipactis helleborine subsp. helleborine]]

 *

 * @author Rillke

 * @license GPL v.3

 **/ 

 

 (function ($, mw) {



	mw.util.addCSS(

		'.syn-x { background:#ddd; cursor:pointer; }' +

		'.syn-to-create { background:#ffb; outline:dotted 1px #999; }' +

		'.syn-to-create:before { content: \" to be created - \"; }' +

		'.syn-created { background:#bfb; }' +

		'.syn-create-err { background:#fbb; }');

	var p = mw.util.addPortletLink('p-tb', '#createRedirs', 'Create Redirects',

		't-syn-redir', 'Create redirects using AJAX in batch');



	if (!p) return;

	var $p = $(p),

		$syns = $(),

		$count = $('<span>'),

		$txt = $p.find('a');



	$txt = $txt.length ? $txt : $p;



	var __updateCount = function () {

		$count.text('(' + $syns.filter('.syn-to-create').length + ')');

	};



	var __create = function () {

		var mwa = new mw.Api();

		// At the time of writing this mw.Api.edit was broken 

		// (no callback because it did not return the promise object 

		// nor did it forward the callback functions properly)



		var _post = function () {

			if (!$syns.filter('.syn-to-create').length) return $txt.text("Done!");

			var $el = $syns.filter('.syn-to-create').eq(0),

				title = $el.text();



			__updateCount();

			mwa.post({

				action: 'edit',

				createonly: true,

				token: mw.user.tokens.get('csrfToken'),

				text: '#REDIRECT [[' + mw.config.get('wgPageName').replace(/_/g, ' ') + ']]',

				title: title,

				watchlist: 'nochange'

			}).done(function () {

				$el.removeClass('syn-to-create').addClass('syn-created');

				_post();

			}).fail(function () {

				$el.removeClass('syn-to-create').addClass('syn-create-err');

				_post();

			});

		};

		_post();

	};

	var __highlight = function () {

		var _textsWeHave = {};

		var _highlightLi = function (i, el) {

			var $el = $(el),

				$i = $el.find('i:first'),

				t = $i.text();



			if (t in _textsWeHave) return;

			_textsWeHavet = true;

			$syns = $syns.add($i.addClass('syn-to-create syn-x'));

		};



		$('h3').find('#Synonyms').parents('h3').nextUntil('h3,h2,hr').find('li').each(_highlightLi);



		$syns.click(function () {

			$(this).toggleClass('syn-to-create');

			__updateCount();

		});

		__updateCount();

		$txt.text("Create Redirs: ").append($count);

		$p.unbind('click').click(function (e) {

			e.preventDefault();

			$p.unbind('click').addClass('ui-state-disabled');

			$.createSpinner().prependTo($txt);

			__create($syns);

		});

	};



	$p.click(function (e) {

		e.preventDefault();

		$p.unbind('click');

		mw.loader.using(['jquery.spinner', 'mediawiki.util', 'mediawiki.api', 'mediawiki.user'], function () {

			__highlight();

		});

	});

}(jQuery, mediaWiki));

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook