User:TheWWRNerdGuy/global.js

// Go Ctrl+F (importArticles) to get actual explanations of the extensions rather than what I've changed. This stuff needs to be first because of load priorities and they won't work if after the imports.

window.AjaxUndoPrompt = true; /*SVsrn (AjaxUndo) The main reason I would use undo over Rollback is to give a reason. Doing this means I have to write a reason each time I'm using AjaxUndo.*/

window.toDoList = { page: 'User:TheWWRNerdGuy' }; /*1Vzz1 (ToDoList) Means that when I press to do, I get the straight source code of my profile. Much more useful than intended and I absolutely love it.*/

window.BotManagement = { notif: false, add: ':)',   remove: 'Okay done', }; /*sLgrH (BotManagement) Means I don't get notified by use of this script, and these are my respective summaries for adding and removing the right*/

window.massRenameSummary = ''

$.when($.ready, mw.loader.using(["mediawiki.api", "mediawiki.jqueryMsg"])).then(function{	return new mw.Api.loadMessagesIfMissing(["global-navigation-search-placeholder-inactive", "global-navigation-search-placeholder-in-wiki", "recentchanges","mediastatistics-header-video", "images"]); }).then(function{

//prevent double loading if( $(document.body).hasClass("oasis-is-revived") ) { return; }

var oasisRevivedClass = $(document.body).addClass("oasis-is-revived"); });

window.dev = $.extend(true, window.dev, {   i18n: {        overrides: {            Rollback: {                // 'summary': 'Reverted edits by $1 (talk) to last revision by $2',                'summary': ' ',                'summaryShort': 'k'            }        }    } });

window.customUserAccountAge = { showFullDate: true };

/* (function {    if (window.NavCodeLinksLoaded) {        return;    }    window.NavCodeLinksLoaded = true;    $('.wds-global-navigation__user-menu .wds-list, .wiki-tools .wds-dropdown__content .wds-list').append( ['css', 'js'].map(function(ext) {           return $('', { append: $('', {                   'href': mw.util.getUrl('MediaWiki:Fandomdesktop.' + ext),                    text: 'Fandomdesktop ' + ext.toUpperCase                }) });       })    ); });
 * NavCodeLinks
 * Adds Wiki's CSS and JS link to navigation dropdown
 * @author Monochromatic Bunny
 * Modified to link FandomDesktop

importArticles({   type: 'script',    articles: [        /*        Extensions installed        Adding something which describes each one and whatever values I've changed.        For each thingy in here just get https://dev.fandom.com/wiki/ and copy-paste the name to get to its official page.        Some extensions I will give acronyms to. Assume, unless otherwise stated, that I personally use the extension, am happy with it, and I would only have it used by myself.        Note: Where an extension requires a lot of explanation or has its config settings changed, I will write a Note: String, where String is a random ID. Ctrl+F String to find a full explanation.        Acronyms used:        // PUO         –        Breaks Fandom's Customisation policy. Stands for Personal Use Only, as you're allowed to mess up your personal JS however you want.        // SWO         –        Can only be used site-wide // SW         –        I would recommend using this site-wide with ImportJS // VC         –        Values changed where they need to be. Will give it a Note: String. // SWVC       –        I would recommend this be used site-wide with certain customisations. Those will be commented where they need to be. // B          –        Only bots (or users who REALLY know what they are doing) should use this // NS         –        Not sure about permitting this one's existence // NU         –        I haven't really used this so I don't have an explanation/I've never seen it in action // TBC        –        I need to expand upon this. Probably mostly with SWVC. // BU         –        Buggy/doesn't work as intended, but not completely broken. Terms used: // Edity people    –      People with special editing rights. Locally, these are Admin and Content Mod. */

// To add extensions to ImportJS, copy the line and remove these parts: ', u:, MediaWiki:

/* Rollback/Spam prevention stuff Basically just there to stop spam/useless contributions*/ 'u:dev:MediaWiki:Rollback/code.js', 'u:dev:MediaWiki:AnchoredRollback/code.js', 'u:dev:MediaWiki:MassRollback.js', 'u:dev:MediaWiki:Nuke/code.js', 'u:dev:MediaWiki:AddBlockUserTag/code.js', /* Explanations of each: Rollback                            –        Does the Fandom default rollback that Fandom has, but instead of Tag:Rollback, it has (script) in the edit summary, which has a link to the script's page on DevWiki. Only works if you don't already have the permission. AnchoredRollback       SW           –        Means that when you press Rollback, it will just happen and you will just see the Rollback button disappear. NS because it takes away the weight of a rollback, but required for MassRollback. MassRollback           SW           –        Adds a Rollback All button on a user's contributions. Only works with Rollback and AnchoredRollback, and seemingly only usable by edity people. Nuke                   NU/SW        –        Deletes all pages created by a user. Can only be used by edity people implicitly. AddBlockUserTag        NU/SW        –        Adds a Block button to a user's masthead. Can only be used by blocky users implicitly. */

/* Page Controls Stuff that appears in the dropdown menu next to the edit button*/ 'u:dev:MediaWiki:CategoryRenameAuto-update/code.js', 'u:dev:MediaWiki:PageRenameAuto-update/code.js', 'u:dev:MediaWiki:FileUsageAuto-update/code.js', 'u:dev:MediaWiki:View_Source/code.js', 'u:dev:MediaWiki:WhatLinksHere/code.js', 'u:dev:MediaWiki:NullEditButton/code.js', 'u:dev:MediaWiki:PurgeButton.js', /* Explanations of each: CategoryRenameAuto-update       B        –        For a category, renames it and then applies the rename to every link to it and all pages within it. Utterly floods RecentChanges. PageRenameAuto-update           B        –        Basically ↑ but for pages. Only available to the usual edity suspects. I'd assume the others are, too. FileUsageAuto-update            B        –        Basically ↑ but for Files. Need to use the queue button. View_Source WhatLinksHere                            –        Allows you to access the special page from Page Controls NullEditButton                           –        Clears cache and does other stuff perhaps */

/* My Tools Stuff that appears in the My Tools menu at the bottom of the screen*/ 'u:dev:MediaWiki:MassEdit/code.js', 'u:dev:MediaWiki:MassCategorization/code.js', 'u:dev:MediaWiki:MassRename/code.js', 'u:dev:MediaWiki:MassRenameRevert/code.js', 'u:dev:MediaWiki:AjaxBatchDelete.js', 'u:dev:MediaWiki:AjaxBatchUndelete.js', /* Explanations of each: MassEdit                                   –       Does a lot. Only usable by edity people. 4 modes: Find and replace content, Add new content, Message users, Generate page listing. Note X8OhH. MassCategorization                         –       Can add, remove and replace categories where you give it the pages to. You can also add every page in a certain category to the list. Duplicate detector in Add is buggy. MassRename                     NU          –       Allows you to rename a lot of pages in quick succession. Format is Current_Name New_Name for each line. Limited use for non-edity people. MassRenameRevert               NU/NS       –       Opens tabs to revert renaming of every checked rename. Hampered by Popup blockers. AjaxBatchDelete                NU          –       Deletes all pages. Format is same as MassEdit. Only usable by edity people implicitly. AjaxBatchUndelete              NU/NS       –       ↑ but the opposite. Not sure because only edity people, who should be trusted, can delete stuff. Note: All of these besides MassRenameRevert would be flagged as B, but it's more aesthetic to just put this as a note down here */

/* Help Stuff that I find to be generally quite helpful (sometimes theoretically), mostly just small QOL things*/ 'u:dev:MediaWiki:CopyTitle.js', 'u:dev:MediaWiki:DupeArgs.js', 'u:dev:MediaWiki:EditConflictAlert/code.js', 'u:dev:MediaWiki:NotesModule/code.js', 'u:dev:MediaWiki:MassProtect/code.js', 'u:dev:MediaWiki:DecodeURI/code.js', 'u:dev:MediaWiki:FastFileDelete.js', 'u:dev:MediaWiki:CategoryQuickRemove.js', 'u:dev:MediaWiki:AddArticleToCategory/code.js', 'u:dev:MediaWiki:AjaxRename/code.js', 'u:dev:MediaWiki:AjaxUndo/code.js', 'u:dev:MediaWiki:QuickTitle/code.js', 'u:dev:MediaWiki:AjaxUserRights.js', 'u:dev:MediaWiki:BotManagement.js', 'u:dev:MediaWiki:MassBlock/code.js', 'u:dev:MediaWiki:ToDoList.js', 'u:dev:MediaWiki:ColorPreview/code.js', 'u:dev:MediaWiki:UploadMultipleFiles.js', /* Explanations of each: CopyTitle                          –       Adds two buttons to the top of the page. Top copies title, bottom copies namespace and title. DupeArgs               NU          –       In My Tools, adds a thing for resolving templates using duplicate arguments. EditConflictAlert                  –       Notifies you when the page you are editing gets edited by somebody else. NotesModule            PUO/BU      –       Adds a Notes section above the Recent Changes sidebar. Have to refresh to save changes and you can only have 1 at a time. Still kinda useful. MassProtect            NU          –       Allows you to protect many pages at once. Seems to be the same format as MassEdit etc. Perhaps SW/B? FastFileDelete         NU/SW       –       Adds a 'delete' button to Special:UnusedFiles/Videos and the lightbox (the one that shows when you click an image). Edity people only. CategoryQuickRemove    SW          –       Adds an X next to categories, allowing you to delete them without editing. AddArticleToCategory   SW          –       Adds an Add to Category link in each category page AjaxRename             NU          –       Broken? AjaxUndo               VC          –       Allows you to undo an edit without moving page, like anchored rollback but as an undo. Note SVsrn. QuickTitle                         –       Allows you to edit the  by just clicking on the title. Annoying crossover with CopyTitle but whatever. AjaxUserRights         NU          –       I think you already know what this is. BotManagement          NU/B/VC     –       Adds buttons to add/remove bot rights. Perhaps superfluous with AjaxUserRights. Note sLgrH. MassBlock              NU/B        –       Allows you to block a list of users. Because why not. ToDoList               PUO/VC      –       Hijacked. On the bottom bit where My Tools also is. Note 1Vzz1. */

//Visual stuff 'u:dev:MediaWiki:MarkBlocked.js', 'u:dev:MediaWiki:ProtectionIcons.js', 'u:dev:MediaWiki:PatrolPanel.js', 'u:dev:MediaWiki:ProtectedHighlight/code.js', 'u:dev:MediaWiki:FixWantedFiles/code.js', //Fun 'u:dev:MediaWiki:FirstEditDate.js', 'u:dev:MediaWiki:GlobalEditcount/code.js', 'u:dev:MediaWiki:ShowUserGroups.js', 'u:dev:MediaWiki:MastheadGender/code.js', 'u:dev:MediaWiki:RevealAnonIP/usercode.js', 'u:dev:MediaWiki:UserRightsRecord/code.js', 'u:dev:MediaWiki:UserAccountAge/code2.js', 'u:dev:MediaWiki:UserAndIPTools.js', 'u:dev:MediaWiki:ShowWROnToolbar.js', //Pretty cool 'u:dev:MediaWiki:EditLeaderboard.js', 'u:dev:MediaWiki:AnalyticsShortcut.js', 'u:dev:MediaWiki:StickySummary.js', 'u:dev:MediaWiki:AddUserRightsTag/code.js', 'u:dev:MediaWiki:MassUserRights/code.js', 'u:dev:MediaWiki:CatNav/code.js', 'u:dev:MediaWiki:ImportJSPage/code.js', 'u:dev:MediaWiki:MassNullEdit/code.js', // ?       'u:dev:MediaWiki:PortableListUsers.js', 'u:dev:MediaWiki:GlobalJSLinks.js', 'u:dev:MediaWiki:MassPatrol/code.js', 'u:dev:MediaWiki:AjaxDelete/code.js', 'u:dev:MediaWiki:Bang.js', 'u:dev:MediaWiki:Sofix.js', 'u:dev:MediaWiki:DisableCode/code.js',

// New 'u:dev:MediaWiki:Discussions Delete All/code.js', // 'u:dev:MediaWiki:Discussions Restore All.js', 'u:dev:MediaWiki:PowerDelete.js' // DisableCode                    NS          –       Allows me to disable JS for reasons unknown

//'u:dev:MediaWiki:Deadvideo/code.js', /* Common.js but not personal use UserBadge*/ /* Sitewide PreloadTemplates ProfileTags DisableBotMessageWalls Standard_Edit_Summary *//* Others CSSMessageWallTags */   ] });

/*X8OhH (MassEdit) Explanation of each individual mode of MassEdit Find and replace content               –       Defaults I've never changed: Select Type, Select Matching, Specific Instances. Seems to have certain limitations I don't know for now. To use:                        Must insert a list of pages into the Page Entries section. Put in your text in the Target Content bit. Put the replacey stuff in the New Content bit. Press submit. Also, you can put in an edit summary.

Add new content                NU      –       I assume with Select Action that Prepend adds to the start and Append adds to the end of the page. Everything else looks as in Find and replace. Message users                  NU      –       I assume it's exactly as it says on the tin. Generate page listing                  –       NU namespace. For C, it lists all pages in the Category. For T, it lists all pages that use that template.

/* note for later:
 * Help:Lua|Lua
 * Global Lua Modules|Global Modules
 * Lua templating/Converting Wikitext templates|Converting to Lua
 * Lua reference manual|Lua Documentation
 * Lua reference manual/Standard libraries|Standard libraries
 * Lua reference manual/Scribunto libraries|Scribunto libraries

/* Additional notes https://www.random.org/strings/?num=1&len=5&digits=on&upperalpha=on&loweralpha=on&unique=on&format=html&rnd=new MediaWiki:Group-sysop.js