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.

//Copied from [[User:DannyS712/Redirectify.js]]

// Originally from [[User:FR30799386/redirectify.js]]?

//<nowiki>

var Redirectify_config = {

	name: '[[User:Sohom_Datta/Redirectify|Redirectify]]',

	version: 1.2,

	debug: false

};

var Redirectify_ending = ' (' + Redirectify_config.name + ' v.' + Redirectify_config.version + ')';

function loadredirectify() {

	if($('#mw-indicator-featured-star').length || $('#mw-indicator-good-star').length) {

		 $('#mw-content-text').prepend('<div style="border:1px solid red;">Redirectify should not be used to redirect a Good article or a featured article. '

		 +'Seek consensus on the article talk page if you plan to redirect this page.</div>');

		 return;

	}

    if( mw.config.get( 'wgTitle' ) === 'Main Page' ) {

        console.log('huh? wut? Why?')

        return;

    }

    mw.loader.using(  'mediawiki.widgets', 'oojs-ui-core', 'oojs-ui-widgets', 'ext.gadget.morebits' ], function() {

        $('.redirectify-ui').remove();

        var api = new mw.Api();

        //Portion copied from [[User:EnterpriseyBot/AFCHRS.js]] starts

        var Rcat = [{

            label: 'R from related topic',

            data: 'R from related topic'

        },

        {

            label: 'R to related topic',

            data: 'R to related topic'

        },

        {

            label: 'R from alternative language',

            data: 'R from alternative language'

        }, {

            label: 'R from alternative name',

            data: 'R from alternative name'

        }, {

            label: 'R from modification',

            data: 'R from modification'

        }, {

            label: 'R to section',

            data: 'R to section'

        }, {

            label: 'R from diacritic',

            data: 'R from diacritic'

        }, {

            label: 'R to diacritic',

            data: 'R to diacritic'

        }, {

            label: 'R from acronym',

            data: 'R from acronym'

        }, {

            label: 'R from initialism',

            data: 'R from initialism'

        }, {

            label: 'R from CamelCase',

            data: 'R from CamelCase'

        }, {

            label: 'R from miscapitalisation',

            data: 'R from miscapitalisation'

        }, {

            label: 'R from other capitalisation',

            data: 'R from other capitalisation'

        }, {

            label: 'R from modification',

            data: 'R from modification'

        }, {

            label: 'R from plural',

            data: 'R from plural'

        }, {

            label: 'R from adjective',

            data: 'R from adjective'

        }, {

            label: 'R from adverb',

            data: 'R from adverb'

        }, {

            label: 'R from common noun',

            data: 'R from common noun'

        }, {

            label: 'R from gerund',

            data: 'R from gerund'

        }, {

            label: 'R from proper noun',

            data: 'R from proper noun'

        }, {

            label: 'R from verb',

            data: 'R from verb'

        }, {

            label: 'R from alternative spelling',

            data: 'R from alternative spelling'

        }, {

            label: 'R from misspelling',

            data: 'R from misspelling'

        }, {

            label: 'R from American English',

            data: 'R from American English'

        }, {

            label: 'R from British English',

            data: 'R from British English'

        }, {

            label: 'R from ASCII-only',

            data: 'R from ASCII-only'

        }, {

            label: 'R from diacritic',

            data: 'R from diacritic'

        }, {

            label: 'R from ligature',

            data: 'R from ligature'

        }, {

            label: 'R from stylization',

            data: 'R from stylization'

        }, {

            label: 'R from alternative transliteration',

            data: 'R from alternative transliteration'

        }, {

            label: 'R from Wade–Giles romanization',

            data: 'R from Wade–Giles romanization'

        }, {

            label: 'From alternative names, general',

            data: 'From alternative names, general',

            disabled: true

        }, {

            label: 'R from alternative language',

            data: 'R from alternative language'

        }, {

            label: 'R from alternative name',

            data: 'R from alternative name'

        }, {

            label: 'R from former name',

            data: 'R from former name'

        }, {

            label: 'R from historic name',

            data: 'R from historic name'

        }, {

            label: 'R from incomplete name',

            data: 'R from incomplete name'

        }, {

            label: 'R from incorrect name',

            data: 'R from incorrect name'

        }, {

            label: 'R from letter–word combination',

            data: 'R from letter–word combination'

        }, {

            label: 'R from long name',

            data: 'R from long name'

        }, {

            label: 'R from portmanteau',

            data: 'R from portmanteau'

        }, {

            label: 'R from predecessor company name',

            data: 'R from predecessor company name'

        }, {

            label: 'R from short name',

            data: 'R from short name'

        }, {

            label: 'R from sort name',

            data: 'R from sort name'

        }, {

            label: 'R from less specific name',

            data: 'R from less specific name'

        }, {

            label: 'R from more specific name',

            data: 'R from more specific name'

        }, {

            label: 'R from antonym',

            data: 'R from antonym'

        }, {

            label: 'R from eponym',

            data: 'R from eponym'

        }, {

            label: 'R from synonym',

            data: 'R from synonym'

        }, {

            label: 'R from Roman numerals',

            data: 'R from Roman numerals'

        }, {

            label: 'From alternative names, geography',

            data: 'From alternative names, geography',

            disabled: true

        }, {

            label: 'R from Canadian settlement name',

            data: 'R from Canadian settlement name'

        }, {

            label: 'R from name and country',

            data: 'R from name and country'

        }, {

            label: 'R from city and state',

            data: 'R from city and state'

        }, {

            label: 'R from city and province',

            data: 'R from city and province'

        }, {

            label: 'R from more specific geographic name',

            data: 'R from more specific geographic name'

        }, {

            label: 'R from postal abbreviation',

            data: 'R from postal abbreviation'

        }, {

            label: 'R from postal code',

            data: 'R from postal code'

        }, {

            label: 'R from US postal abbreviation',

            data: 'R from US postal abbreviation'

        }, {

            label: 'From alternative names, organisms',

            data: 'From alternative names, organisms',

            disabled: true

        }, {

            label: 'R from scientific abbreviation',

            data: 'R from scientific abbreviation'

        }, {

            label: 'R from scientific name',

            data: 'R from scientific name'

        }, {

            label: 'R from alternative scientific name',

            data: 'R from alternative scientific name'

        }, {

            label: 'R from monotypic taxon',

            data: 'R from monotypic taxon'

        }, {

            label: 'From alternative names, people',

            data: 'From alternative names, people',

            disabled: true

        }, {

            label: 'R from birth name',

            data: 'R from birth name'

        }, {

            label: 'R from given name',

            data: 'R from given name'

        }, {

            label: 'R from married name',

            data: 'R from married name'

        }, {

            label: 'R from name with title',

            data: 'R from name with title'

        }, {

            label: 'R from non-neutral name',

            data: 'R from non-neutral name'

        }, {

            label: 'R from personal name',

            data: 'R from personal name'

        }, {

            label: 'R from pseudonym',

            data: 'R from pseudonym'

        }, {

            label: 'R from relative',

            data: 'R from relative'

        }, {

            label: 'R from spouse',

            data: 'R from spouse'

        }, {

            label: 'R from surname',

            data: 'R from surname'

        }, {

            label: 'R from Bluebook abbreviation',

            data: 'R from Bluebook abbreviation'

        }, {

            label: 'R from brand name',

            data: 'R from brand name'

        }, {

            label: 'R from drug trade name',

            data: 'R from drug trade name'

        }, {

            label: 'R from file name',

            data: 'R from file name'

        }, {

            label: 'R from Java package name',

            data: 'R from Java package name'

        }, {

            label: 'R from MathSciNet abbreviation',

            data: 'R from MathSciNet abbreviation'

        }, {

            label: 'R from molecular formula',

            data: 'R from molecular formula'

        }, {

            label: 'R from NLM abbreviation',

            data: 'R from NLM abbreviation'

        }, {

            label: 'R from product name',

            data: 'R from product name'

        }, {

            label: 'R from slogan',

            data: 'R from slogan'

        }, {

            label: 'R from symbol',

            data: 'R from symbol'

        }, {

            label: 'R from systematic abbreviations',

            data: 'R from systematic abbreviations'

        }, {

            label: 'R from technical name',

            data: 'R from technical name'

        }, {

            label: 'R from trademark',

            data: 'R from trademark'

        }, {

            label: 'R from file metadata link',

            data: 'R from file metadata link'

        }, {

            label: 'R mentioned in hatnote',

            data: 'R mentioned in hatnote'

        }, {

            label: 'R from shortcut',

            data: 'R from shortcut'

        }, {

            label: 'R from template shortcut',

            data: 'R from template shortcut'

        }, {

            label: 'From disambiguations',

            data: 'From disambiguations',

            disabled: true

        }, {

            label: 'R from ambiguous term',

            data: 'R from ambiguous term'

        }, {

            label: 'R from incomplete disambiguation',

            data: 'R from incomplete disambiguation'

        }, {

            label: 'R from incorrect disambiguation',

            data: 'R from incorrect disambiguation'

        }, {

            label: 'R from other disambiguation',

            data: 'R from other disambiguation'

        }, {

            label: 'R from predictable disambiguation',

            data: 'R from predictable disambiguation'

        }, {

            label: 'R from unnecessary disambiguation',

            data: 'R from unnecessary disambiguation'

        }, {

            label: 'From mergers, duplicates, and moves',

            data: 'From mergers, duplicates, and moves',

            disabled: true

        }, {

            label: 'R from duplicated article',

            data: 'R from duplicated article'

        }, {

            label: 'R with history',

            data: 'R with history'

        }, {

            label: 'R from merge',

            data: 'R from merge'

        }, {

            label: 'R from move',

            data: 'R from move'

        }, {

            label: 'R with old history',

            data: 'R with old history'

        }, {

            label: 'R from fictional character',

            data: 'R from fictional character'

        }, {

            label: 'R from fictional element',

            data: 'R from fictional element'

        }, {

            label: 'R from fictional location',

            data: 'R from fictional location'

        }, {

            label: 'From related info',

            data: 'From related info',

            disabled: true

        }, {

            label: 'R from album',

            data: 'R from album'

        }, {

            label: 'R from animal',

            data: 'R from animal'

        }, {

            label: 'R from book',

            data: 'R from book'

        }, {

            label: 'R from catchphrase',

            data: 'R from catchphrase'

        }, {

            label: 'R from domain name',

            data: 'R from domain name'

        }, {

            label: 'R from top-level domain',

            data: 'R from top-level domain'

        }, {

            label: 'R from film',

            data: 'R from film'

        }, {

            label: 'R from gender',

            data: 'R from gender'

        }, {

            label: 'R from legislation',

            data: 'R from legislation'

        }, {

            label: 'R from list topic',

            data: 'R from list topic'

        }, {

            label: 'R from member',

            data: 'R from member'

        }, {

            label: 'R from person',

            data: 'R from person'

        }, {

            label: 'R from phrase',

            data: 'R from phrase'

        }, {

            label: 'R from quotation',

            data: 'R from quotation'

        }, {

            label: 'R from related word',

            data: 'R from related word'

        }, {

            label: 'R from school',

            data: 'R from school'

        }, {

            label: 'R from song',

            data: 'R from song'

        }, {

            label: 'R from subtopic',

            data: 'R from subtopic'

        }, {

            label: 'R from team',

            data: 'R from team'

        }, {

            label: 'R from work',

            data: 'R from work'

        }, {

            label: 'R from writer',

            data: 'R from writer'

        }, {

            label: 'R from Unicode',

            data: 'R from Unicode'

        }, {

            label: 'R to acronym',

            data: 'R to acronym'

        }, {

            label: 'R to initialism',

            data: 'R to initialism'

        }, {

            label: 'R to ASCII-only title',

            data: 'R to ASCII-only title'

        }, {

            label: 'R to diacritic',

            data: 'R to diacritic'

        }, {

            label: 'R to ligature',

            data: 'R to ligature'

        }, {

            label: 'R to plural',

            data: 'R to plural'

        }, {

            label: 'To alternative names',

            data: 'To alternative names',

            disabled: true

        }, {

            label: 'R to former name',

            data: 'R to former name'

        }, {

            label: 'R to historic name',

            data: 'R to historic name'

        }, {

            label: 'R to joint biography',

            data: 'R to joint biography'

        }, {

            label: 'R to name with title',

            data: 'R to name with title'

        }, {

            label: 'R to monotypic taxon',

            data: 'R to scientific name'

        }, {

            label: 'R to scientific name',

            data: 'R to scientific name'

        }, {

            label: 'R to systematic name',

            data: 'R to systematic name'

        }, {

            label: 'R to technical name',

            data: 'R to technical name'

        }, {

            label: 'To – navigation and disambiguation',

            data: 'To – navigation and disambiguation',

            disabled: true

        }, {

            label: 'R to anchor',

            data: 'R to anchor'

        }, {

            label: 'R to anthroponymy page',

            data: 'R to anthroponymy page'

        }, {

            label: 'R to disambiguation page',

            data: 'R to disambiguation page'

        }, {

            label: 'R to list entry',

            data: 'R to list entry'

        }, {

            label: 'R to section',

            data: 'R to section'

        }, {

            label: 'To miscellaneous',

            data: 'To miscellaneous',

            disabled: true

        }, {

            label: 'R to decade',

            data: 'R to decade'

        }, {

            label: 'R to related topic',

            data: 'R to related topic'

        }, {

            label: 'R to subpage',

            data: 'R to subpage'

        }, {

            label: 'R to subtopic',

            data: 'R to subtopic'

        }, {

            label: 'R to TV episode list entry',

            data: 'R to TV episode list entry'

        } ];

        function generateSelect(title, options, onchange) {

            const multiselect = new OO.ui.MenuTagMultiselectWidget( {

                inputPosition: 'outline',

                allowArbitrary: true,

                verticalPosition: 'below',

                title,

                options: options

            });

            return multiselect;

        }

        //Section copied ends here

        var morebits = new Morebits.wiki.page(mw.config.get('wgPageName'));

        var wikitext = '#REDIRECT [[$1]]\n{{Redirect category shell|\n$2\n}}';

        var summaryredirect = 'Redirecting page to [[$1]]';

        var summaryalert = 'Notification of a page being redirected' + Redirectify_ending;

        var title = (mw.config.get('wgPageName')).replace('_', ' ');

        var messagetouser = window.messagetouser || '==Redirecting page: [[' + title + ']]==\nA page you created, [[' + title + ']], does not seem to have [[WP:SOURCE|enough reliable third party sources]] to merit [[WP:N|inclusion in the encyclopedia]] in itself. It has been [[WP:REDIRECT|redirected]] to $1 which is related to the subject of the article. ~~~~';

        var titleinput = new mw.widgets.TitleInputWidget({

            required: true

        });

        $('#mw-content-text').prepend('<div class="redirectify-ui" style="padding:1em; background:#f2f2f2;"><h3>Redirectify</h3><div class="redirectify"><label>Target :</label></div><div class="r-action-ui"></div><div id="r-error" style="width:100%; color:red;"></div>');

        var $redirectify = $('.r-action-ui');

        if( $( '.redirectText' ).length ) {

        	titleinput.setValue( $( '.redirectText a' )[0].innerText );

        }

        $redirectify.append(titleinput.$element);

        const redirectifyMultiselect = generateSelect('r-rcat', Rcat);

        $redirectify.append('<br><label for="r-rcat">Redirect categorization : </label>\n<br>' );

        $redirectify.append(redirectifyMultiselect.$element);

        $redirectify.append('<div><br><label for="r-summary">Summary of action : </label><input type="text" id="r-summary" required></input></div><div class="r-message-element"></div>');

        const $redirectifyMsgElem = $( '.r-message-element' )

        const userMsg = new OO.ui.MultilineTextInputWidget( {

            autosize: true,

            value: messagetouser

        } );

        morebits.lookupCreation(function() {

        	if ( $( '.redirectMsg' ).length ) return;

            $redirectifyMsgElem.append('<br><label for="r-message">Message : (Remove current text to prevent message for being sent)</label>\n');

            $redirectifyMsgElem.append(userMsg.$element);

            $redirectifyMsgElem.append('<span style="font-size: 0.9em;"><b>Note :</b>$1 denotes target page</span>');

        });

        $('.r-action-ui').append('<button class="mw-ui-progressive mw-ui-button r-submit">Redirect</button>'

        +'&nbsp;<button class="mw-ui-button mw-ui-quiet mw-ui-destructive r-cancel" style="background:none; border:0px solid white">Cancel</button>');

        $('.r-cancel').click(function(){

        $('.redirectify-ui').remove();

        });

        $('.r-submit').click(function(e) {

            e.preventDefault();

            var reason = ($('#r-summary').val()) ? (': ' + $('#r-summary').val() ) : '';

            var target = titleinput.getQueryValue();

            console.log(target);

            if (target) {

                api.get({

                    action: "query",

                    titles: target,

                }).then(function(ret) {

                    $.each(ret.query.pages, function() {

                        if (this.missing !== "") {

                            wikitext = wikitext.replace('$1', target);

                            const redirectTags = redirectifyMultiselect.getValue();

                            let redirectTagText = '';

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

                                redirectTagText += `{{${redirectTagsi}}}`;

                            }

                            if (redirectTagText !== '') {

                                wikitext = wikitext.replace('$2', redirectTagText);

                            } else {

                                wikitext = wikitext.replace('{{Redirect category shell|\n$2\n}}', '');

                            }

                            summaryredirect = summaryredirect.replace('$1', target);

                            messagetouser = ($('#r-message').val() || '').replace('$1', target);

                            $redirectify.empty();

                            api.postWithToken('csrf', {

                                action: 'edit',

                                title: mw.config.get('wgPageName'),

                                text: wikitext,

                                summary: summaryredirect + reason + Redirectify_ending

                            }).done(function(response) {

                                if (response..result === 'Success')

                                    $redirectify.append('<li style="color:green;">Redirected page !</li>');

                                console.log(response);

                            }).fail(function(status) {

                                $redirectify.append('<span style="color:red;">Could not redirect page !</span>');

                                console.log(status);

                            });

                            if (messagetouser !== '') {

                                morebits.lookupCreation(function() {

                                	if ( $( '.redirectMsg' ).length ) return;

                                    var guy = morebits.getCreator();

                                    var guyedit = new Morebits.wiki.page('User talk:' + guy);

                                    guyedit.setEditSummary(summaryalert);

                                    guyedit.setAppendText('\n' + messagetouser);

                                    guyedit.append(function() {

                                        $redirectify.append('<li style="color:green;">Messaged user !</li>');

                                    }, function() {

                                        $redirectify.append('<li style="color:red;">Could not message user !</li>');

                                    });

                                });

                            }

                            $('#r-error').html("");

                            $('.r-action-ui').html('<button class="mw-ui-button r-reload">Reload</button>');

                            $('.r-reload').click(function() {

                                location.href = '/wiki/' + mw.config.get('wgPageName') + '?redirect=no';

                            });

                        } else {

                            createerror();

                        }

                    });

                }, function(error) {

                    console.error(error);

                    createerror();

                });

            } else {

                createerror();

            }

        });

    });

    function createerror(){

    	$('#r-error').html('The page specified in the target parameter does not exist. Redirecting this page to the target will result in the creation of a broken redirect.');

    }

}

$.when(mw.loader.using('mediawiki.util'), $.ready).then(function() {

	if( mw.config.get( "wgNamespaceNumber" ) < 0 ) return;

	if (mw.config.get('wgUserGroups').indexOf('extendedconfirmed') === -1 ) {

        console.log("[Redirectify] User isn't extendedconfirmed, and so shouldn't use this script.");

        return;

    }

    var portlet = mw.util.addPortletLink('p-cactions', 'javascript:void(0)', 'Redirect page', 'ca-redirectify', 'Make page a redirect', 'r', '');

    $('#ca-redirectify').click(function() {

        loadredirectify();

    });

});

//</nowiki>
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.

//Copied from [[User:DannyS712/Redirectify.js]]

// Originally from [[User:FR30799386/redirectify.js]]?

//<nowiki>

var Redirectify_config = {

	name: '[[User:Sohom_Datta/Redirectify|Redirectify]]',

	version: 1.2,

	debug: false

};

var Redirectify_ending = ' (' + Redirectify_config.name + ' v.' + Redirectify_config.version + ')';

function loadredirectify() {

	if($('#mw-indicator-featured-star').length || $('#mw-indicator-good-star').length) {

		 $('#mw-content-text').prepend('<div style="border:1px solid red;">Redirectify should not be used to redirect a Good article or a featured article. '

		 +'Seek consensus on the article talk page if you plan to redirect this page.</div>');

		 return;

	}

    if( mw.config.get( 'wgTitle' ) === 'Main Page' ) {

        console.log('huh? wut? Why?')

        return;

    }

    mw.loader.using(  'mediawiki.widgets', 'oojs-ui-core', 'oojs-ui-widgets', 'ext.gadget.morebits' ], function() {

        $('.redirectify-ui').remove();

        var api = new mw.Api();

        //Portion copied from [[User:EnterpriseyBot/AFCHRS.js]] starts

        var Rcat = [{

            label: 'R from related topic',

            data: 'R from related topic'

        },

        {

            label: 'R to related topic',

            data: 'R to related topic'

        },

        {

            label: 'R from alternative language',

            data: 'R from alternative language'

        }, {

            label: 'R from alternative name',

            data: 'R from alternative name'

        }, {

            label: 'R from modification',

            data: 'R from modification'

        }, {

            label: 'R to section',

            data: 'R to section'

        }, {

            label: 'R from diacritic',

            data: 'R from diacritic'

        }, {

            label: 'R to diacritic',

            data: 'R to diacritic'

        }, {

            label: 'R from acronym',

            data: 'R from acronym'

        }, {

            label: 'R from initialism',

            data: 'R from initialism'

        }, {

            label: 'R from CamelCase',

            data: 'R from CamelCase'

        }, {

            label: 'R from miscapitalisation',

            data: 'R from miscapitalisation'

        }, {

            label: 'R from other capitalisation',

            data: 'R from other capitalisation'

        }, {

            label: 'R from modification',

            data: 'R from modification'

        }, {

            label: 'R from plural',

            data: 'R from plural'

        }, {

            label: 'R from adjective',

            data: 'R from adjective'

        }, {

            label: 'R from adverb',

            data: 'R from adverb'

        }, {

            label: 'R from common noun',

            data: 'R from common noun'

        }, {

            label: 'R from gerund',

            data: 'R from gerund'

        }, {

            label: 'R from proper noun',

            data: 'R from proper noun'

        }, {

            label: 'R from verb',

            data: 'R from verb'

        }, {

            label: 'R from alternative spelling',

            data: 'R from alternative spelling'

        }, {

            label: 'R from misspelling',

            data: 'R from misspelling'

        }, {

            label: 'R from American English',

            data: 'R from American English'

        }, {

            label: 'R from British English',

            data: 'R from British English'

        }, {

            label: 'R from ASCII-only',

            data: 'R from ASCII-only'

        }, {

            label: 'R from diacritic',

            data: 'R from diacritic'

        }, {

            label: 'R from ligature',

            data: 'R from ligature'

        }, {

            label: 'R from stylization',

            data: 'R from stylization'

        }, {

            label: 'R from alternative transliteration',

            data: 'R from alternative transliteration'

        }, {

            label: 'R from Wade–Giles romanization',

            data: 'R from Wade–Giles romanization'

        }, {

            label: 'From alternative names, general',

            data: 'From alternative names, general',

            disabled: true

        }, {

            label: 'R from alternative language',

            data: 'R from alternative language'

        }, {

            label: 'R from alternative name',

            data: 'R from alternative name'

        }, {

            label: 'R from former name',

            data: 'R from former name'

        }, {

            label: 'R from historic name',

            data: 'R from historic name'

        }, {

            label: 'R from incomplete name',

            data: 'R from incomplete name'

        }, {

            label: 'R from incorrect name',

            data: 'R from incorrect name'

        }, {

            label: 'R from letter–word combination',

            data: 'R from letter–word combination'

        }, {

            label: 'R from long name',

            data: 'R from long name'

        }, {

            label: 'R from portmanteau',

            data: 'R from portmanteau'

        }, {

            label: 'R from predecessor company name',

            data: 'R from predecessor company name'

        }, {

            label: 'R from short name',

            data: 'R from short name'

        }, {

            label: 'R from sort name',

            data: 'R from sort name'

        }, {

            label: 'R from less specific name',

            data: 'R from less specific name'

        }, {

            label: 'R from more specific name',

            data: 'R from more specific name'

        }, {

            label: 'R from antonym',

            data: 'R from antonym'

        }, {

            label: 'R from eponym',

            data: 'R from eponym'

        }, {

            label: 'R from synonym',

            data: 'R from synonym'

        }, {

            label: 'R from Roman numerals',

            data: 'R from Roman numerals'

        }, {

            label: 'From alternative names, geography',

            data: 'From alternative names, geography',

            disabled: true

        }, {

            label: 'R from Canadian settlement name',

            data: 'R from Canadian settlement name'

        }, {

            label: 'R from name and country',

            data: 'R from name and country'

        }, {

            label: 'R from city and state',

            data: 'R from city and state'

        }, {

            label: 'R from city and province',

            data: 'R from city and province'

        }, {

            label: 'R from more specific geographic name',

            data: 'R from more specific geographic name'

        }, {

            label: 'R from postal abbreviation',

            data: 'R from postal abbreviation'

        }, {

            label: 'R from postal code',

            data: 'R from postal code'

        }, {

            label: 'R from US postal abbreviation',

            data: 'R from US postal abbreviation'

        }, {

            label: 'From alternative names, organisms',

            data: 'From alternative names, organisms',

            disabled: true

        }, {

            label: 'R from scientific abbreviation',

            data: 'R from scientific abbreviation'

        }, {

            label: 'R from scientific name',

            data: 'R from scientific name'

        }, {

            label: 'R from alternative scientific name',

            data: 'R from alternative scientific name'

        }, {

            label: 'R from monotypic taxon',

            data: 'R from monotypic taxon'

        }, {

            label: 'From alternative names, people',

            data: 'From alternative names, people',

            disabled: true

        }, {

            label: 'R from birth name',

            data: 'R from birth name'

        }, {

            label: 'R from given name',

            data: 'R from given name'

        }, {

            label: 'R from married name',

            data: 'R from married name'

        }, {

            label: 'R from name with title',

            data: 'R from name with title'

        }, {

            label: 'R from non-neutral name',

            data: 'R from non-neutral name'

        }, {

            label: 'R from personal name',

            data: 'R from personal name'

        }, {

            label: 'R from pseudonym',

            data: 'R from pseudonym'

        }, {

            label: 'R from relative',

            data: 'R from relative'

        }, {

            label: 'R from spouse',

            data: 'R from spouse'

        }, {

            label: 'R from surname',

            data: 'R from surname'

        }, {

            label: 'R from Bluebook abbreviation',

            data: 'R from Bluebook abbreviation'

        }, {

            label: 'R from brand name',

            data: 'R from brand name'

        }, {

            label: 'R from drug trade name',

            data: 'R from drug trade name'

        }, {

            label: 'R from file name',

            data: 'R from file name'

        }, {

            label: 'R from Java package name',

            data: 'R from Java package name'

        }, {

            label: 'R from MathSciNet abbreviation',

            data: 'R from MathSciNet abbreviation'

        }, {

            label: 'R from molecular formula',

            data: 'R from molecular formula'

        }, {

            label: 'R from NLM abbreviation',

            data: 'R from NLM abbreviation'

        }, {

            label: 'R from product name',

            data: 'R from product name'

        }, {

            label: 'R from slogan',

            data: 'R from slogan'

        }, {

            label: 'R from symbol',

            data: 'R from symbol'

        }, {

            label: 'R from systematic abbreviations',

            data: 'R from systematic abbreviations'

        }, {

            label: 'R from technical name',

            data: 'R from technical name'

        }, {

            label: 'R from trademark',

            data: 'R from trademark'

        }, {

            label: 'R from file metadata link',

            data: 'R from file metadata link'

        }, {

            label: 'R mentioned in hatnote',

            data: 'R mentioned in hatnote'

        }, {

            label: 'R from shortcut',

            data: 'R from shortcut'

        }, {

            label: 'R from template shortcut',

            data: 'R from template shortcut'

        }, {

            label: 'From disambiguations',

            data: 'From disambiguations',

            disabled: true

        }, {

            label: 'R from ambiguous term',

            data: 'R from ambiguous term'

        }, {

            label: 'R from incomplete disambiguation',

            data: 'R from incomplete disambiguation'

        }, {

            label: 'R from incorrect disambiguation',

            data: 'R from incorrect disambiguation'

        }, {

            label: 'R from other disambiguation',

            data: 'R from other disambiguation'

        }, {

            label: 'R from predictable disambiguation',

            data: 'R from predictable disambiguation'

        }, {

            label: 'R from unnecessary disambiguation',

            data: 'R from unnecessary disambiguation'

        }, {

            label: 'From mergers, duplicates, and moves',

            data: 'From mergers, duplicates, and moves',

            disabled: true

        }, {

            label: 'R from duplicated article',

            data: 'R from duplicated article'

        }, {

            label: 'R with history',

            data: 'R with history'

        }, {

            label: 'R from merge',

            data: 'R from merge'

        }, {

            label: 'R from move',

            data: 'R from move'

        }, {

            label: 'R with old history',

            data: 'R with old history'

        }, {

            label: 'R from fictional character',

            data: 'R from fictional character'

        }, {

            label: 'R from fictional element',

            data: 'R from fictional element'

        }, {

            label: 'R from fictional location',

            data: 'R from fictional location'

        }, {

            label: 'From related info',

            data: 'From related info',

            disabled: true

        }, {

            label: 'R from album',

            data: 'R from album'

        }, {

            label: 'R from animal',

            data: 'R from animal'

        }, {

            label: 'R from book',

            data: 'R from book'

        }, {

            label: 'R from catchphrase',

            data: 'R from catchphrase'

        }, {

            label: 'R from domain name',

            data: 'R from domain name'

        }, {

            label: 'R from top-level domain',

            data: 'R from top-level domain'

        }, {

            label: 'R from film',

            data: 'R from film'

        }, {

            label: 'R from gender',

            data: 'R from gender'

        }, {

            label: 'R from legislation',

            data: 'R from legislation'

        }, {

            label: 'R from list topic',

            data: 'R from list topic'

        }, {

            label: 'R from member',

            data: 'R from member'

        }, {

            label: 'R from person',

            data: 'R from person'

        }, {

            label: 'R from phrase',

            data: 'R from phrase'

        }, {

            label: 'R from quotation',

            data: 'R from quotation'

        }, {

            label: 'R from related word',

            data: 'R from related word'

        }, {

            label: 'R from school',

            data: 'R from school'

        }, {

            label: 'R from song',

            data: 'R from song'

        }, {

            label: 'R from subtopic',

            data: 'R from subtopic'

        }, {

            label: 'R from team',

            data: 'R from team'

        }, {

            label: 'R from work',

            data: 'R from work'

        }, {

            label: 'R from writer',

            data: 'R from writer'

        }, {

            label: 'R from Unicode',

            data: 'R from Unicode'

        }, {

            label: 'R to acronym',

            data: 'R to acronym'

        }, {

            label: 'R to initialism',

            data: 'R to initialism'

        }, {

            label: 'R to ASCII-only title',

            data: 'R to ASCII-only title'

        }, {

            label: 'R to diacritic',

            data: 'R to diacritic'

        }, {

            label: 'R to ligature',

            data: 'R to ligature'

        }, {

            label: 'R to plural',

            data: 'R to plural'

        }, {

            label: 'To alternative names',

            data: 'To alternative names',

            disabled: true

        }, {

            label: 'R to former name',

            data: 'R to former name'

        }, {

            label: 'R to historic name',

            data: 'R to historic name'

        }, {

            label: 'R to joint biography',

            data: 'R to joint biography'

        }, {

            label: 'R to name with title',

            data: 'R to name with title'

        }, {

            label: 'R to monotypic taxon',

            data: 'R to scientific name'

        }, {

            label: 'R to scientific name',

            data: 'R to scientific name'

        }, {

            label: 'R to systematic name',

            data: 'R to systematic name'

        }, {

            label: 'R to technical name',

            data: 'R to technical name'

        }, {

            label: 'To – navigation and disambiguation',

            data: 'To – navigation and disambiguation',

            disabled: true

        }, {

            label: 'R to anchor',

            data: 'R to anchor'

        }, {

            label: 'R to anthroponymy page',

            data: 'R to anthroponymy page'

        }, {

            label: 'R to disambiguation page',

            data: 'R to disambiguation page'

        }, {

            label: 'R to list entry',

            data: 'R to list entry'

        }, {

            label: 'R to section',

            data: 'R to section'

        }, {

            label: 'To miscellaneous',

            data: 'To miscellaneous',

            disabled: true

        }, {

            label: 'R to decade',

            data: 'R to decade'

        }, {

            label: 'R to related topic',

            data: 'R to related topic'

        }, {

            label: 'R to subpage',

            data: 'R to subpage'

        }, {

            label: 'R to subtopic',

            data: 'R to subtopic'

        }, {

            label: 'R to TV episode list entry',

            data: 'R to TV episode list entry'

        } ];

        function generateSelect(title, options, onchange) {

            const multiselect = new OO.ui.MenuTagMultiselectWidget( {

                inputPosition: 'outline',

                allowArbitrary: true,

                verticalPosition: 'below',

                title,

                options: options

            });

            return multiselect;

        }

        //Section copied ends here

        var morebits = new Morebits.wiki.page(mw.config.get('wgPageName'));

        var wikitext = '#REDIRECT [[$1]]\n{{Redirect category shell|\n$2\n}}';

        var summaryredirect = 'Redirecting page to [[$1]]';

        var summaryalert = 'Notification of a page being redirected' + Redirectify_ending;

        var title = (mw.config.get('wgPageName')).replace('_', ' ');

        var messagetouser = window.messagetouser || '==Redirecting page: [[' + title + ']]==\nA page you created, [[' + title + ']], does not seem to have [[WP:SOURCE|enough reliable third party sources]] to merit [[WP:N|inclusion in the encyclopedia]] in itself. It has been [[WP:REDIRECT|redirected]] to $1 which is related to the subject of the article. ~~~~';

        var titleinput = new mw.widgets.TitleInputWidget({

            required: true

        });

        $('#mw-content-text').prepend('<div class="redirectify-ui" style="padding:1em; background:#f2f2f2;"><h3>Redirectify</h3><div class="redirectify"><label>Target :</label></div><div class="r-action-ui"></div><div id="r-error" style="width:100%; color:red;"></div>');

        var $redirectify = $('.r-action-ui');

        if( $( '.redirectText' ).length ) {

        	titleinput.setValue( $( '.redirectText a' )[0].innerText );

        }

        $redirectify.append(titleinput.$element);

        const redirectifyMultiselect = generateSelect('r-rcat', Rcat);

        $redirectify.append('<br><label for="r-rcat">Redirect categorization : </label>\n<br>' );

        $redirectify.append(redirectifyMultiselect.$element);

        $redirectify.append('<div><br><label for="r-summary">Summary of action : </label><input type="text" id="r-summary" required></input></div><div class="r-message-element"></div>');

        const $redirectifyMsgElem = $( '.r-message-element' )

        const userMsg = new OO.ui.MultilineTextInputWidget( {

            autosize: true,

            value: messagetouser

        } );

        morebits.lookupCreation(function() {

        	if ( $( '.redirectMsg' ).length ) return;

            $redirectifyMsgElem.append('<br><label for="r-message">Message : (Remove current text to prevent message for being sent)</label>\n');

            $redirectifyMsgElem.append(userMsg.$element);

            $redirectifyMsgElem.append('<span style="font-size: 0.9em;"><b>Note :</b>$1 denotes target page</span>');

        });

        $('.r-action-ui').append('<button class="mw-ui-progressive mw-ui-button r-submit">Redirect</button>'

        +'&nbsp;<button class="mw-ui-button mw-ui-quiet mw-ui-destructive r-cancel" style="background:none; border:0px solid white">Cancel</button>');

        $('.r-cancel').click(function(){

        $('.redirectify-ui').remove();

        });

        $('.r-submit').click(function(e) {

            e.preventDefault();

            var reason = ($('#r-summary').val()) ? (': ' + $('#r-summary').val() ) : '';

            var target = titleinput.getQueryValue();

            console.log(target);

            if (target) {

                api.get({

                    action: "query",

                    titles: target,

                }).then(function(ret) {

                    $.each(ret.query.pages, function() {

                        if (this.missing !== "") {

                            wikitext = wikitext.replace('$1', target);

                            const redirectTags = redirectifyMultiselect.getValue();

                            let redirectTagText = '';

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

                                redirectTagText += `{{${redirectTagsi}}}`;

                            }

                            if (redirectTagText !== '') {

                                wikitext = wikitext.replace('$2', redirectTagText);

                            } else {

                                wikitext = wikitext.replace('{{Redirect category shell|\n$2\n}}', '');

                            }

                            summaryredirect = summaryredirect.replace('$1', target);

                            messagetouser = ($('#r-message').val() || '').replace('$1', target);

                            $redirectify.empty();

                            api.postWithToken('csrf', {

                                action: 'edit',

                                title: mw.config.get('wgPageName'),

                                text: wikitext,

                                summary: summaryredirect + reason + Redirectify_ending

                            }).done(function(response) {

                                if (response..result === 'Success')

                                    $redirectify.append('<li style="color:green;">Redirected page !</li>');

                                console.log(response);

                            }).fail(function(status) {

                                $redirectify.append('<span style="color:red;">Could not redirect page !</span>');

                                console.log(status);

                            });

                            if (messagetouser !== '') {

                                morebits.lookupCreation(function() {

                                	if ( $( '.redirectMsg' ).length ) return;

                                    var guy = morebits.getCreator();

                                    var guyedit = new Morebits.wiki.page('User talk:' + guy);

                                    guyedit.setEditSummary(summaryalert);

                                    guyedit.setAppendText('\n' + messagetouser);

                                    guyedit.append(function() {

                                        $redirectify.append('<li style="color:green;">Messaged user !</li>');

                                    }, function() {

                                        $redirectify.append('<li style="color:red;">Could not message user !</li>');

                                    });

                                });

                            }

                            $('#r-error').html("");

                            $('.r-action-ui').html('<button class="mw-ui-button r-reload">Reload</button>');

                            $('.r-reload').click(function() {

                                location.href = '/wiki/' + mw.config.get('wgPageName') + '?redirect=no';

                            });

                        } else {

                            createerror();

                        }

                    });

                }, function(error) {

                    console.error(error);

                    createerror();

                });

            } else {

                createerror();

            }

        });

    });

    function createerror(){

    	$('#r-error').html('The page specified in the target parameter does not exist. Redirecting this page to the target will result in the creation of a broken redirect.');

    }

}

$.when(mw.loader.using('mediawiki.util'), $.ready).then(function() {

	if( mw.config.get( "wgNamespaceNumber" ) < 0 ) return;

	if (mw.config.get('wgUserGroups').indexOf('extendedconfirmed') === -1 ) {

        console.log("[Redirectify] User isn't extendedconfirmed, and so shouldn't use this script.");

        return;

    }

    var portlet = mw.util.addPortletLink('p-cactions', 'javascript:void(0)', 'Redirect page', 'ca-redirectify', 'Make page a redirect', 'r', '');

    $('#ca-redirectify').click(function() {

        loadredirectify();

    });

});

//</nowiki>

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook