Wikipedia:User scripts/Requests

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
User script requests

Post your user script-related request or idea for a new user script (or gadget) as a new section below. Discussion in each section is encouraged. Note that most gadgets started out as mere user scripts. This page is intended for new user scripts, which affect the appearance of the site and may add additional functionality. Fully automated bots should be requested at Wikipedia:Bot requests instead.

All user script-related requests are welcome, whether they be for assistance writing an existing user script, desire for a new user script that does what you want, etc. Ideas for new user scripts are welcome too!

Before you request a script, please make sure it does not already exist. For a list a user scripts, see this list.

If you have been helped, please let us know, so that we may archive the request.


Request for an ISBN script[edit]

A script which hyphenates ISBN-13 digits (with four hyphens), similar to this website. A script which converts ISBN-10 to 13 would be appreciated also. Thank-you.--Nevéselbert 23:13, 25 June 2017 (UTC)

@Neve-selbert: is this still needed? I'm not saying, that I will do this, but... --Edgars2007 (talk/contribs) 06:41, 6 March 2018 (UTC)
@Edgars2007: it would come in handy, certainly.--Neve~selbert 17:07, 22 March 2018 (UTC)
That website uses JavaScript which is open source so I guess it would be easy to port it here. SD0001 (talk) 06:35, 1 January 2019 (UTC)
@Neveselbert: At least for English and German books, m:User:TMg/autoFormatter adds dashes to ISBNs. Sam Sailor 09:26, 17 April 2019 (UTC)

User script to help guide students working on medical articles[edit]

Students make similar errors when editing and each new batch repeats similar errors made by the last batch. I am wanting a user script that analysis the students edits and provides them feedback. For example:

  1. If they use a url to the inside net of their library it will remind them that this is not useful to anyone outside their institution.
  2. If they use caps for every word in a heading it will point out that generally only the first word in a heading gets a cap unless the other words are proper names.
  3. If they put refs before the punctuation or leave a space after the punctuation before the ref it will remind them that the house style is refs go immediately after the punctuation.
  4. If they use a book (ie an ISBN) without a page number they will be reminded to provide a page number.
  5. If they do not use "cite templates" to match those already used in the article they will be requested to do so.
  6. If they use a pmid that is listed as a "primary source" they will be requested to use a secondary source. Whether or not a pmid is primary or secondary can generally be determined by pubmed.

I am involved with supporting a number of classes, including one of medical students at UCSF. I am wanting to trial this sort of script on them to see if they find it useful and it decreases the work load for other volunteers. Currently education initiatives are not really scalable and this sort of script will help make them so. Doc James (talk · contribs · email) 04:57, 15 March 2018 (UTC)

First draft here Doc James (talk · contribs · email) 02:53, 19 March 2018 (UTC)
Thanks for TheSandDoctor who already started to work on it. I just want to refer to User:ערן/WeaselWords.js and Wikipedia:Manual of Style/Words to watch/Config which can be used as a sketch example how to do it (though someone should review the code which was written in WM'14). Particularally I suggest enwiki to adapt hewiki practices here and to put the "rules" above in two format:
  • as human readable rules in Wikipedia:Manual of Style (or a sub page) - where users can read the rational behind the rule. Probably some of the rules Doc James mentioened above are already there - if not please consider to add them. Doing it means users who don't have user script installed can still be aware to it (though it is less accessible)
  • as machine readable rules (as in Wikipedia:Manual of Style/Words to watch/Config or some other format) for a user script to verify the rules. Doing it will greatly simplity further adding/removing/twiking the style rules.
Thanks, Eran (talk) 07:30, 21 March 2018 (UTC)
You should use jquery.textSelection source api module to access the contents of the wiki text editors. That synchronises between the various wiki text editors, so that when two tools makes changes to the form value, they don't overwrite each other. —TheDJ (talkcontribs) 09:16, 21 March 2018 (UTC)

Disabling Media viewer and Page preview[edit]

There is the page Wikipedia:Tools/Greasemonkey_user_scripts which shows publicly usable Greasemonkey scripts to give the users a better experience. Sadly there is no list for requested scripts. So I guess, this one here has to be the right one for this purpose, too.

I think, I have a request to make Wikipedia usable / readable for normal people (without an account) again. Please, provide us (or at least the technically versed parts of us) with some means to disable these annoying "features" of the Wikipedia once and for all. I don't think that I have to name reasons here - there are multiple comments on the appropriate discussion pages which seem to be ignored altogether.

So please, give at least the Greasemonkey users the possibility to turn off Media viewer and Page preview. It's really no help at all to have to choose to disable them about a hundred times a day (for every browser instance [in case of the Page preview also for every already opened browser tab!], for every language version, multiple times a day again and again and again)!

Otherwise Wikipedia seems not to be usable in an effective manner anymore. Even on big screens it's hard to find a spot to "park" your mouse cursor at to be able to scroll the site without having previews popping up every now and then. - Which totally disturbs the normal workflow! --141.76.83.180 (talk) 16:04, 21 June 2018 (UTC)

unfortunately, without an account you cannot activate a user script or enable a gadget. But, I encourage you to make an account (WP:ACCOUNT) - you may find what you are looking for in your account's settings ("preferences"). --DannyS712 (talk) 04:47, 1 March 2019 (UTC)
You can also use a popup-blocker to get rid of all popups on Wikipedia articles. Moreover there exist Extensions at Google Chrome Store, that let you disable popups on selected websites, you can use them as well. --180.151.77.214 (talk) 19:30, 10 April 2019 (UTC)
A pop-up blocker will not work for page preview pop-ups, as they use html rather than creating a window. However, there is a gear icon in the pop-up which allows you to disable them. Alternatively, you can add .mwe-popups{display:none!important} using user css. --Danski454 (talk) 11:30, 12 April 2019 (UTC)

Automatic American English[edit]

I want the reverse of Ohconfucious's American → British script so that it could convert British → American. IDK why it hasn't been done already. — Mr. Guye (talk) (contribs)  08:32, 26 July 2018 (UTC)

Do you have a link to the original script? --Danski454 (talk) 16:39, 3 August 2018 (UTC)
Is this the page in question? --Kailash29792 (talk) 16:49, 3 August 2018 (UTC)
I think this might be it: User:Ohconfucius/script/EngvarB.js --Danski454 (talk) 17:38, 3 August 2018 (UTC)
Danski454, Ohconfucious does not appear to have responded to a request to make a script that can convert British English to American. Are you working on it? Or does Canadian English follow the same style? --Kailash29792 (talk) 11:44, 24 August 2018 (UTC)
Kailash29792 I am not working on this script. Also, Canadian English is somewhere between British and American. Danski454 (talk) 18:47, 25 August 2018 (UTC)
I must thank Ohconfucius for making this possible, so this request may be archived. --Kailash29792 (talk) 08:54, 13 September 2018 (UTC)
No, this request should not be archived. There still is not an automatic edit script that converts British English to American English, nor does it seem like anyone is trying to create one. My request is far from fulfilled. — Mr. Guye (talk) (contribs)  01:25, 15 September 2018 (UTC)
Is anyone working on this? If not, I can take a stab at it. Warpaltarpers (talk) 16:05, 30 May 2019 (UTC)

Another editor in support of this script - Atsme Talk 📧 21:09, 20 July 2019 (UTC)

Merge refs[edit]

Is there a script that detects duplicate refs and allows users to try merging them? If there's not, I hope one is made. --Kailash29792 (talk) 05:04, 1 January 2019 (UTC)

@Kailash29792: WP:REFILL does this if refs are identical. See, eg, a b c d e f g --DannyS712 (talk) 05:28, 1 January 2019 (UTC)
For two refs with the same name, yes, that would be toollabs:yabbr. It doesn't let you do it on a specific page, yet - it takes you through the whole backlog. Enterprisey (talk!) 05:40, 1 January 2019 (UTC)
@Kailash29792, DannyS712, and Enterprisey: User:Cumbril/Reference Organizer (formerly: User:Cumbril/References Consolidator) does that. Sam Sailor 09:39, 17 April 2019 (UTC)

Script to help automate G5 tagging[edit]

Frequently I check special:newpagesfeed and go to 'by blocked users.' A lot of the time the blocked users are sockpuppet accounts that have made 25+ articles that would have to be manually tagged. Tagging all these articles is tedious and I frequently find myself asking sysops on IRC to run a special:nuke. I am requesting a script that could semi-automatically go through and tag G5 eligible articles from a user's contributions page or page creation logs if it has not been edited by another editor and was created after a date that the user would input. Thanks to anyone that might be able to help! Kb03 (talk) 19:28, 8 March 2019 (UTC)

@Kb03: I don't think this is a good idea for a script. For example, Wikipedia:Bots/Requests for approval/PkbwcgsBot 6 was denied because nominating pages for deletion should always be reviewed (as you say you will do) - but it also ties in with communicating with the editors, etc. I'm uncomfortable making this script unless there is a consensus that it would be permissible. Sorry, --DannyS712 (talk) 19:46, 8 March 2019 (UTC)
DannyS712, would an RfC be appropriate for this? Kb03 (talk) 19:47, 8 March 2019 (UTC)
@Kb03: Probably. Maybe even a discussion at WT:CSD or WP:AN. The actual script should be relatively straightforward to create (its a small matter of programming) but the potential consequences make me hesitant. --DannyS712 (talk) 19:48, 8 March 2019 (UTC)
DannyS712, one question. when you quote "Communicating with the editors, etc" are you saying the creator of the article or an editor that may dispute the G5? Kb03 (talk) 20:33, 8 March 2019 (UTC)
@Kb03: I believe that @Xaosflux was referring to the creator. And yes, I understand that this doesn't usually apply with G5, but you should still review pages individually imo. --DannyS712 (talk) 20:35, 8 March 2019 (UTC)
Yes, as such a script could be used for any reason. Perhaps getting "csd-batch" added to Twinkle may be useful, and also automate appropriate settings. Leaving a note at AN/ANI should normally be fine for a NUKE request though - in nuke situations page tagging isn't needed. — xaosflux Talk 20:45, 8 March 2019 (UTC)
Xaosflux, would you have an issue with me requesting the feature be added on WT:Twinkle? Kb03 (talk) 20:58, 8 March 2019 (UTC)
Kb03, I'm not sure it's a good fit for Twinkle. Mass-G5 tagging isn't particularly common to most users, and isn't something I think we should suggest is readily encouraged. Mass-tagging is just mass-editing, I think if it's really dramatic people have used AWB, but really as Xaosflux said a post to AN/ANI would be more than appropriate; tagging is just beside the point, especially if they're already blocked. — Preceding unsigned comment added by Amorymeltzer (talkcontribs) 21:53, 8 March 2019 (UTC)
Kb03 guess it is kind of niche, there really isn't a good reason for anyone to spend time mass-tagging, since you can just ask at AN. — xaosflux Talk 22:48, 8 March 2019 (UTC)
Xaosflux, Could TW then have a function that automated posting to WP:AN for that reason? RhinosF1(chat)(status)(contribs) 07:51, 9 March 2019 (UTC)
@RhinosF1: That, on the other hand, is a simple script to create - its just new section: please new pages created by XYZ. I don't think it should be included in twinkle, because of how rare it is; ping @Amorymeltzer to chime in about the need for twinkle vs standalone script. --DannyS712 (talk) 07:54, 9 March 2019 (UTC)
I can have a script in beta within a few days --DannyS712 (talk) 07:55, 9 March 2019 (UTC)
DannyS712, What about mass protection requests? RhinosF1(chat)(status)(contribs) 08:04, 9 March 2019 (UTC)
@RhinosF1: That would be harder, because RFPP works differently, and has a specific format. AN is just &section=new and explaining the issue --DannyS712 (talk) 08:09, 9 March 2019 (UTC)
DannyS712, Amorymeltzer might be able to advise as Twinkle can do one at a time. Can I also suggest criteria like U5/G11 as a potential for your script? That gets quite quite a few being done at a time then the user never editing again. RhinosF1(chat)(status)(contribs) 08:12, 9 March 2019 (UTC)
@RhinosF1: let me start with just requesting a nuke, a build from there. I have to go, but I'll get back to you with a draft version soon --DannyS712 (talk) 08:23, 9 March 2019 (UTC)
@RhinosF1: Current script at User:DannyS712 test/nuke.js makes edits like this (I just need to change the target page to AN, but until then it targets my sandbox so feel free to test it). Thoughts? --DannyS712 (talk) 04:24, 10 March 2019 (UTC)
Extended discussion moved to User talk:DannyS712 test/nuke.js --DannyS712 (talk) 08:04, 10 March 2019 (UTC)
ToBeFree, weren't you redesigning WP:RfPP RhinosF1(chat)(status)(contribs) 18:19, 9 March 2019 (UTC)
DannyS712, that would be a good alternative. I see no problems with it. Kb03 (talk) 21:08, 9 March 2019 (UTC)
I have tried to do the same now. Because G5 only applies to pages "that have no substantial edits by others", I had to manually check the substantiality of all edits not made by the blocked user. I also had to verify that the sockpuppeteer had been blocked before the article has been created by a now-confirmed puppet. I'm not sure if a script can safely automate what I just did. If may be useful for easier cases, though.
@RhinosF1: yes; we're currently waiting for the bot to be updated. Face-smile.svg ~ ToBeFree (talk) 03:25, 10 March 2019 (UTC)

Redirect page tab behavior[edit]

Would really appreciate a script for commons.js, so that when I'm sitting on the Talk page of a Redirect page, and click the "Article" tab at the top of the page, it just takes me back to the Redirect article, and not to the target of it. Full details on this page at WP:VPP. Thanks! Mathglot (talk) 06:22, 9 May 2019 (UTC)

@Mathglot: I'm out of town currently, but I want to work on this. I should have something for you this weekend --DannyS712 (talk) 06:26, 9 May 2019 (UTC)
Wow, thanks! Do you need any additional information from me? Let me know. Mathglot (talk) 06:38, 9 May 2019 (UTC)
Paging User:Brion VIBBER, who may be interested in following this topic as well. Mathglot (talk) 06:49, 9 May 2019 (UTC)
@Mathglot: Can be done using a single line of JS. Just add the following to your common.js file: $("#p-namespaces a")[0].href += '?redirect=no'; This makes the subject page button not follow the redirect. Works for the vector skin, not sure about others. SD0001 (talk) 17:50, 9 May 2019 (UTC)
@SD0001: That seems to work fine, thanks! Also works for non-existent Project Talk pages (e.g., the TP belonging to Wikipedia:WPWO.) I wonder if there's a repository with links to helpful scripts like this one somewhere. Probably would make a lot of editors happy to customize their experience. This one immediately makes my life easier. Mathglot (talk) 19:49, 9 May 2019 (UTC)
@Mathglot and SD0001: Additional line so that the Read tab links to the redirect itself: $("#p-views a")[0].href += '?redirect=no';. It's possible that these both could be merged into one line, but I don't know JQuery or JS in general well enough to tell.
I've also note I've reopened T5324 Tthe underlying Phabricator issue; there's more discussion here. eπi (talk | contribs) 01:51, 10 May 2019 (UTC)

Hi, @SD0001, DannyS712, and E to the Pi times i:, Just a heads up that about some unforeseen knock-on effects that this fix may have provoked; see WP:VPT#Invalid url from Create tab. I think this is a minor enough issue that it doesn't really need to be fixed, now that I'm aware of it; but I wanted to draw your attention to it, in case you're interested. In a nutshell: if the url already has a query string, then either the positioning of the added redirect= param or its delimiter might need to be altered. Thanks, Mathglot (talk) 23:52, 10 May 2019 (UTC)

@Mathglot: Yeah, that one's probably my fault. I copied SD0001's script, but I didn't consider the effects it would have on the right tab. But it's not an unfixable problem; it just needs to be more discerning about how it modifies the URL. eπi (talk | contribs) 01:52, 11 May 2019 (UTC)

oh sorry, didn't foresee that bug. if ($("#p-namespaces a")[0].className.includes('mw-redirect')) $("#p-namespaces a")[0].href += '?redirect=no'; Here, now the ?redirect=no will be added only if the subject page is a redirect, removing all issues. Haven't tested this since I'm on phone. Tell me if it doesn't work. SD0001 (talk) 03:38, 11 May 2019 (UTC)

@Mathglot: Just tested this and it works. If you also want the "Read" tab to not follow redirect, you need if ($("#ca-view a")[0].className.includes('mw-redirect')) $("#ca-view a")[0].href += '?redirect=no'; SD0001 (talk) 06:42, 12 May 2019 (UTC)
@SD0001: thanks. I wasn't quite clear if I need only the last one (@06:42) for Talk & Read, or both (03:38 & 06:42). Mathglot (talk) 08:01, 12 May 2019 (UTC)

Wanted: A Script to Lexicographically Order Bullet-Lists[edit]

Image Work in progress; comments welcome

My fellow script enthusiasts, et al., today I bring before you the matter of this horrid mess. (I see there was some attempt to maintain a sane ordering, but it fell apart at some stage.)

A script is needed to automate lexicographical ordering of items in bullet-lists. This may also be useful in See also sections of articles. Some points to bear in mind:

  1. Not all bullet-lists need be ordered. The script user must convey which items they want ordered. (i.e. This is not a task for a bot.)

Uhm, I guess that's the only point. If you choose to undertake this task, I would be happy to provide insight, if it proves challenging.

The first person to conclude a sufficient algorithm gets cake. Regards, GUYWAN ( t · c ) 22:47, 3 June 2019 (UTC)

@Guywan: see .sort() - https://www.w3schools.com/jsref/jsref_sort.asp DannyS712 (talk) 00:10, 4 June 2019 (UTC)
Guywan I made a script specifically to sort WP:US/L. It sorts by the name parameter of the {{userscript}} template on each line. Here it is in action. Some limitations are that it cannot sort entries that have no name parameter and it does not attempt to sort sub-lists. Here's a link to the script. I might add functionality to sort scripts with no name parameter but I'm taking a break for now. Anne drew (talk) 18:47, 1 July 2019 (UTC)
@Anne drew Andrew and Drew: Firstly, ouch, my fingers! Secondly, great work! Nice and simple script; I like it. I was looking for something more general, but this is quite good. We're halfway there.
Extended content
More generally, we want to build a list of bullet items (/^\*.*/ for the first level, /^\*\*.*/ for the second, etc) and order it. But we do not want to include markup in the ordering process, so items should be parsed before comparison. (E.g. via mw.Api.parse()) We would then replace the old wikitext with our ordered wikitext.
This is my imagining, anyway. Perhaps there is a more elegant solution.
P.S: I might suggest a keyboard shortcut that activates the script. (CTRL+R? CTRL+⇧ Shift+R?)
P.P.S: Also, don't add a portlet link unless
mw.config.get("wgAction") == "edit"
(just to declutter when link isn't needed.)
Regards, GUYWAN ( t · c ) 00:16, 4 July 2019 (UTC)
Hey Guywan, thanks for the helpful feedback! I've made some changes so it only shows up as a portlet link when you are on the WP:US/L page in edit mode. It also has a keyboard shortcut: Ctrl+Alt+S. Lastly, it can now sort scripts with no "name" parameter. I'll have to look into mw.Api.parse(), it seems useful. Anne drew 23:39, 9 July 2019 (UTC)
I would love a script to sort bulleted list. That would be so incredibly useful. Headbomb {t · c · p · b} 15:42, 17 September 2019 (UTC)
@Headbomb: Try BulletSort. GUYWAN ( t · c ) 14:50, 29 November 2019 (UTC)

WikiProject status[edit]

I just want a lightweight script that will allow me to manually fill in the parameters for {{WikiProject status}}. Pretty much exactly like User:Evad37/rater, but simpler and only for one banner template. –MJLTalk 20:16, 9 July 2019 (UTC)

Might do, if nobody takes this before end-September. WBGconverse 14:44, 2 August 2019 (UTC)

Watchlist notifier: number of (automated) updates in browser page title[edit]

Automated updates of live blogs are often indicated by a number between brackets shown in the browser's page title, signifying the number of recent changes. The inboxes of most e-mail services display the same, as do Twitter pages. Would it be possible to add a gadget that allows for automated updates of Watchlists (for all projects) with such a notifier in the browser (tab) page titles as well? For me, and I guess for many other users, it would be a major improvement, not having to manually check watchlists anymore and instead being able to view live updates while working in other browser windows. I am not sure if this has been proposed before – if so, my apologies. Jürgen Eissink (talk) 14:24, 17 July 2019 (UTC).

@Jürgen Eissink: that would require the javascript to run when the window isn't in focus, and I'm not sure that is supported. But, you may want to check out User:DannyS712/Global watchlist, which shows you your watchlist from multiple sites. Hope that helps --DannyS712 (talk) 20:01, 17 July 2019 (UTC)
I didn't actually mean a Watchlist for all projects in one, but the possibility to have the proposed feature activated on the different projects (in my case mainly nl., en., de. en Commons). And it doesn't seem like DannyS712 uses automatic updates and a page title signifier, which is specifically what I am inquiring about. Thousands of pages of pages run without the window in focus, I don't see why this would be a problem for specific Wikipedia pages. Oh, I now see you are DannyS712. Thanks for your answer, anyway. Jürgen Eissink (talk) 20:25, 17 July 2019 (UTC).
@Jürgen Eissink: clarification: I'm not sure wikipedia's support for user-defined javascript (eg at your /common.js) will run when the window isn't in focus. I could be wrong though --DannyS712 (talk) 21:50, 17 July 2019 (UTC)
Someone else, who I consider an expert, gave me the impression that it would technically be easy to implement. Let's wait for other reactions. Thanks so far. Jürgen Eissink (talk) 21:58, 17 July 2019 (UTC).
@Jürgen Eissink: I ran some tests. You're right, sorry --DannyS712 (talk) 22:13, 17 July 2019 (UTC)
@DannyS712: That sounds hopeful, thanks! I myself am not enough focused on programming to grasp every possibility, so I have to rely on others in these matters. Jürgen Eissink (talk) 22:19, 17 July 2019 (UTC).
@Jürgen Eissink: User:SD0001/watchlist-update-title.js. SD0001 (talk) 18:52, 18 July 2019 (UTC)
@SD0001: Well, thank you, SD0001, but it doesn't seem to be working for me yet. I copied your script to a new .js-page in my user space, but it doesn't seem to update automatically and neither are the numbers of changed pages displayed in the page title. Am I getting it wrong? Pinging @DannyS712: also. Jürgen Eissink (talk) 20:20, 18 July 2019 (UTC).
Oh, I now see that I have to copy it to my common.js, which I just did. Will try and see again. Jürgen Eissink (talk) 20:30, 18 July 2019 (UTC).
Is this supposed to automatically update the Watchlist when working in another window? If so, how often will it update? Doesn't do anything so far. Jürgen Eissink (talk) 21:07, 18 July 2019 (UTC).
@Jürgen Eissink: It will work only if "Live updates" button on watchlist is selected. (there seems to be no preferences option to have it selected automatically - it has to be selected every time you open your watchlist, but if you wish I can tweak the script to have it selected every time the watchlist is opened). When the watchlist undergoes a live update (done by the mediawiki software, not by this script), the script just updates the page' HTML title prefixing it with a "(1)" or "(2)" or so on. This number is removed when the window comes into focus (i.e, when you switch over to the tab from another, or if you click anywhere within the window if you were already on it).
To install it across all wikis, add
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:SD0001/watchlist-update-title.js&action=raw&ctype=text/javascript');
on your global.js page on meta. Or to your common.js locally for use on a specific wiki. I'd suggest doing this rather than copy-pasting the code as you've done so that any updates/improvements I may make will become available to you automatically. SD0001 (talk) 03:24, 19 July 2019 (UTC)
Okay, that makes sense and now it seems to be working, although so far I've seen updates marked (1) when there were more pages added. So the count seems to be the update and not the number of pages updated, which I'd prefer. A small issue is that when pressing 'Mark all changes as seen' that the counter again appears and will only go away after refreshing the page, which is counterproductive to the initial purpose. I'll keep testing a bit, and while improvements would be welcomed, I thank you for the code! Jürgen Eissink (talk) 11:40, 19 July 2019 (UTC).
It takes some time to get used to this new feature, but the first experiences are satisfying. Thank you once again. I will also keep an eye on DannyS712's developments. Thank you both. Jürgen Eissink (talk) 20:27, 19 July 2019 (UTC).
@Jürgen Eissink: now "Live updates" will automatically be enabled. Counter will count number of new edits rather than watchlist updates. Also fixed the issue with Mark all changes as seen button. SD0001 (talk) 19:31, 20 July 2019 (UTC)
@SD0001: that is pretty amazing and quite literally exactly what I had in mind, so I couldn't be more grateful. I hope more users will find it useful, and I am actually somewhat surprised that this is a first. Thank you again. Jürgen Eissink (talk) 19:40, 20 July 2019 (UTC). P.S. Maybe it's good to list this on Wikipedia:User scripts/List#Watchlist?
One last improvement could be, @SD0001:, that one's own edits are not counted, but I don't know if that is possible. Jürgen Eissink (talk) 21:18, 20 July 2019 (UTC).
It's possible, but isn't it better to just hide one's own edits from the watchlist? There's an option in Preferences for that. SD0001 (talk) 07:19, 21 July 2019 (UTC)
Well I do see the benefit nevertheless for people who don't have that option on. Will add it. SD0001 (talk) 08:27, 21 July 2019 (UTC)
I use the script, because it's convenient to me, but maybe on minor detail could be improved: when hovering over the page histories, those page histories are not updated – would it be possible to add this? Thanks. Jürgen Eissink (talk) 13:32, 26 July 2019 (UTC).

Template:Infobox journal filler/inserter[edit]

It would be super, super useful if we could have a one-click script that could insert a partially pre-filled {{infobox journal}} in articles, or rebuild existing ones.

Basically it would insert the default

{{Infobox journal
| title         = 
| image         = <!-- or |cover= -->
| image_size    = 
| alt           = 
| caption       = 
| former_name   = <!-- or |former_names= -->
| abbreviation  = <!-- ISO 4 abbreviation -->
| bluebook      = <!-- For law journals only -->
| mathscinet    = <!-- For the MathSciNet abbreviation IF different from ISO 4 abbreviation-->
| nlm           = <!-- For the NLM abbreviation IF different from ISO 4 abbreviation-->
| discipline    = <!-- or |subject= -->
| peer-reviewed = 
| language      = 
| editor        = <!-- or |editors= -->
| publisher     = 
| country       = 
| history       = 
| frequency     = 
| openaccess    = 
| license       = 
| impact        = 
| impact-year   = 
| ISSNlabel     = 
| ISSN          = 
| eISSN         = 
| CODEN         = 
| JSTOR         = 
| LCCN          = 
| OCLC          = 
| website       = 
| link1         = 
| link1-name    = 
| link2         = <!-- up to |link5= -->
| link2-name    = <!-- up to |link5-name= -->
}}

(and remove {{italic title}} or its redirect if present) in the lead, like so, and would take existing {{infobox journal}} found in articles and standardize them to the above layout, importing whatever parameters it found. Extra non-empty parameters could just be appended, one per line, below |link2-name=, in alphabetical order. Headbomb {t · c · p · b} 00:35, 29 July 2019 (UTC)

Additionally, it could automatically populate certain fields, like

  • |title=, could be {{PAGENAME}}, with a warning to verify the name, in case we have an infobox journal on a non-journal article (e.g. like a society that publishes the journal).
  • |abbreviation= could be determined by putting {{PAGENAME}} in [1], with a warning to verify the abbreviation, especially for non-English titles, or for non-journal articles
    • [2] could be used to compute the abbreviation for non-English titles (treat multilingual as English)

Headbomb {t · c · p · b} 00:54, 29 July 2019 (UTC)

Going to @Tokenzero: who may have some insight here as well. Headbomb {t · c · p · b} 01:10, 29 July 2019 (UTC)
Still looking into it... my thoughts for now: it would probably be best to use a solid parser like mwparserfromhell: using it to do the basic reformatting of a chosen infobox would be much easier and probably always more robust than any amount of hand-crafted regexes. Looking at mw:Alternative parsers gives essentially two options: Parsoid (the parser behind the visual editor and a few other tools; seems harder to use but can run directly in browser) or python (mwparserfromhell or wikitextparser; easier for me but requires setting up some server to communicate with your browser), I'm still looking into these. Meanwhile, I also learned about TemplateData: ideally the formatting, suggested fields and their ordering could be taken from there, right?
About the UI: you're thinking of e.g. an additional menu entry "add/normalize infobox" on the article page, which would take you to the editing screen with a proposed diff? Tokenzero (talk) 22:58, 2 August 2019 (UTC)
Yeah, taken to diff window would be good yes. Headbomb {t · c · p · b} 04:13, 3 August 2019 (UTC)
I've got a template parser at User:Evad37/extra.js (parseTemplates function), if anyone wants to try using that to make a userscript. - Evad37 [talk] 03:46, 3 August 2019 (UTC)
Thanks! That should work indeed (Parsoid turns out to be overkill and as far as I see it does not allow modifying templates/finding their position with a stable or documented API).
yellow tickY Partly done Here's my first attempt: importScript('User:Tokenzero/infoboxJournal.js'); // Backlink: [[User:Tokenzero/infoboxJournal.js]]. Does not pre-populate fields yet, only adds defaults, reformats, reorders, and then removes {{italic title}}. It should display an 'Infobox journal' portlet under the 'More' menu. On an edit page it just modifies the textarea, on an article view page it redirects you to the diff page. Tokenzero (talk) 20:03, 9 August 2019 (UTC)
I'll try it later tonight! Very much looking forward to it! Headbomb {t · c · p · b} 21:19, 9 August 2019 (UTC)
@Tokenzero: first thing is it should give an edit summary. Headbomb {t · c · p · b} 01:18, 10 August 2019 (UTC)
[3] add |formernames= as an alias of |former_name= Headbomb {t · c · p · b} 01:26, 10 August 2019 (UTC)
Ok, edit summary is now Add infobox journal (IJ.js) or Reformat infobox journal (IJ.js) (or do you prefer just ce? Also I don't care about the link to the script, I can remove it if preferred). Added aliases |formernames= and |formername=. New infoboxes are now inserted after all initial templates. Tokenzero (talk) 09:03, 10 August 2019 (UTC)
"Adding/standardizing infobox journal with User:Tokenzero/infoboxJournal.js" depending on if it's added, or if one already exists. The link could be an 'instruction page' on how to add/use the script, but it might be worth waiting until it's a bit more polished to have that link. Headbomb {t · c · p · b} 12:07, 10 August 2019 (UTC)
Summary changed, links to User:Tokenzero/infoboxJournal. Pre-filling should now work for |language= and |frequency=. Tokenzero (talk) 13:01, 10 August 2019 (UTC)
Looks good. Only thing that's a bit weird is that saving using the premade summary gives a warning that there is no edit summary. A few scripts seem to be doing that. I wonder why. Headbomb {t · c · p · b} 16:29, 10 August 2019 (UTC)
Fixed: 'wpAutoSummary' should have been set to md5 of empty string. If a script wants users to change the premade summary (e.g. because it's just tagging the script name), the intended behaviour is to set 'wpAutoSummary' to md5 of it. By the way, do you know any user-script that redirect to the edit or diff page? Tokenzero (talk) 18:55, 10 August 2019 (UTC)

not sure what "do you know any user-script that redirect to the edit or diff page" means, but you could take a look at WP:Citation expander. Headbomb {t · c · p · b} 19:15, 10 August 2019 (UTC)

Any script that takes you from the view page to the edit or diff page with proposed changes. I just found that tricky to do and I wonder if there's a better way :) Citation expander, as far as I see, either works directly on the edit page (so it won't show you a diff) or from a web page that submits the edit before you can see the diff (which is much easier to do). Tokenzero (talk) 19:26, 10 August 2019 (UTC)
If you use the Citations button, you're taken to a diff. Headbomb {t · c · p · b} 19:38, 10 August 2019 (UTC)

Script for Merging articles easily.[edit]

Hi greetings, I have a suggestion of a new user script helping in merging articles easily. I mean this script should help to do all things listed in WP:MERGETEXT. My suggestions on the tool are...

  • A double window tool which can display both source page (say first) and destination page (say second) in editing mode. We can copy and paste the good content from first page to second page. This pages can determine by adding the names in tool before merging.
  • After this, tool should blank the page and redirect to second with appropriate edit summaries. Like this second page also should saved with edit summary.
  • Remove the merge templates from second page.
  • If first page has a talk page, reconcile it. Change the class in Wikiproject templates to Redirect.
  • Add merger templates such as {{merged-from}}, {{merged-to}} or {{copied}} in talk pages.
  • Automatically fix double redirects.

This is only some suggestions in my mind. It will be very beneficial to users who perform merging if this tool become available. I think there is no other scripts regarding this. Hope that the concerned will consider this. Thank you.--PATH SLOPU 13:58, 31 July 2019 (UTC)

Yeah, I've definitely always wanted a script like this. If someone's actually thinking of doing this, that would be wonderful; otherwise, I might move this further up a bit in the queue of scripts I want to write. Enterprisey (talk!) 06:37, 1 August 2019 (UTC)
Enterprisey, Thank you very much for considering this. Hope that you will consider this when creating a new script. It is a great help if you create this. Thank you. PATH SLOPU 09:50, 3 August 2019 (UTC)
Even a rudimentary version would be very useful. Just removing merge tags, placing {{merged to}} and {{merged from}} would be helpful. I've also posted a notice at WT:WPMERGE since I think there may be others that wish to comment. --Trialpears (talk) 21:45, 3 October 2019 (UTC)
You can do this using Twinkle. robertsky (talk) 22:21, 3 October 2019 (UTC)
Are you sure? I thought twinkle only handled the article namespace templates {{merge to}} and {{merge from}}. --Trialpears (talk) 22:30, 3 October 2019 (UTC)
Ah... apologies, just noted on the tenses in the template names. Then, yes it would be great to have such functionality.
A rundimartary tool, as Trialpears suggests, would save us a bunch of steps. The script could be run once an editor has manually copied all desired material from the source article to the target article. Parameters for the script would be the names of the source and target articles. The script would replace the content of the source article with a redirect. It would remove merge proposal banners ({{merge-from}}, {{merge-to}}) from both, It would add attribution banners {{merged-from}}, {{merged-to}} to talk pages and any other touch ups mentioned above that are nice and easy. The double-window idea sounds like the edit conflict resolution. I'm not convinced that helps a lot even for edit conflicts; Merges are often much more complicated than edit conflict resolution. ~Kvng (talk) 14:07, 6 October 2019 (UTC)
A merge tool would be very helpful particularly for those regularly involved in merging. I'm not currently a Twinkle user, but the documentation doesn't seem to cover anything like the scope of tools proposed by Trialpears. Klbrain (talk) 12:54, 4 October 2019 (UTC)
@Klbrain, Kvng, Trialpears, and Path slopu: I am considering to create a script based on the feedback here. The details are as follows:
  • The script is to be invoked from an article that is to be merged to another article. There will be a form window in which the name of the target article is to be entered. On submitting, following actions are performed:
    • current page is redirected to specified target, with {{R from merge}} tag, with a customisable edit summary
    • Any {{merge from|currentpage}} on target page is removed
    • {{merged-from}} is added to the talk page of target page
    • {{merged-to}} added to talk page of current page
    • Any wikiproject templates on talk page are reset with class=redirect, importance parameter is removed.
  • All the above actions are optional and some may be skipped by unchecking a checkbox on the form window.
The actual process of merging content has to be performed manually. Like Kvng, I don't see the benefits of implementing a double-window thing. You just to have open two tabs in separate browser windows and dock them side by side to replicate the effect.
Fixing of double redirects is best left to the bot.
Does all this sound right to you? And can you suggest a proper name for the menu button used for starting the script? SD0001 (talk) 18:47, 10 October 2019 (UTC)
Sounds perfect. I'm not sure we need the checkboxes for each operation but if you do include them, I hope they will all be checked by default. I suggest standard edit comments for all of these operations be something like "Merged from Source page. For more information visit WP:WPMERGE." I personally don't need edit comments to be customizable. ~Kvng (talk) 20:23, 10 October 2019 (UTC)
I often like to specify that it was a bold merge or link to the discussion and would personally like custom edit summaries. You may also want to remove {{being merged}}, a new system to keep track of mergers with consensus that haven't yet been implemented. It hasn't really taken off yet, but if it's as easy as I think it is I see no reason not to include it. --Trialpears (talk) 20:32, 10 October 2019 (UTC)
Image Done See User:SD0001/easy-merge. Any feedback is welcome. Please report bugs if you find any. Thanks. SD0001 (talk) 22:31, 10 October 2019 (UTC)
@Trialpears: Looking at your recent edits, I have added a date field to the script, so that merged-from and merged-to can be made to take a different date than the default today. Just for maximum flexibility. SD0001 (talk) 18:46, 11 October 2019 (UTC)
Well that's great! There are some times where there is a merged version made but isn't implemented due to consensus concerns or the merger not being recorded properly for copyright attribution where this will be really useful. Thanks! --Trialpears (talk) 18:52, 11 October 2019 (UTC)
@SD0001:Hi greetings, thank you very much for considering the request. The tool seems very nice. It reduces the work considerably. Thank you for spending time to create this tool. Regards PATH SLOPU 10:28, 12 October 2019 (UTC)
@Enterprisey, Trialpears, Kvng, and Klbrain: Thank you very much for the suggestions and recommendations given to the creation of tool. Regards--PATH SLOPU 10:28, 12 October 2019 (UTC)
Thanks SD0001. Tried it on Multistage amplifier. Went smoothly. ~Kvng (talk) 01:44, 13 October 2019 (UTC)
It's working smoothly for me too (when I use it correctly); thanks! Additions, should one be in the mood, might include stripping various request templates from the talk page (like template:Photo requested), and having an option to add other relevant merge templates. The full gamut of such merge templates is large, but for starters an optional template:R from alternative language (with its 2 important parameters) might be helpful. Klbrain (talk) 09:09, 13 October 2019 (UTC)
Nice suggestions. I've updated it to also remove the various request templates, as well as any media-needed or needs-media parameters in wikiproject tags. Regarding addition of redirect templates, I think that's best left to Twinkle. Twinkle already supports adding of R from alt lang with both its parameters. I've also recently filed a patch for Twinkle that will make the redirect tagging interface searchable, making it easy to find a template from the large list. SD0001 (talk) 12:35, 13 October 2019 (UTC)
It looks like the script removes all of the categories on the redirected page; this isn't really a desirable feature, as its helpful to maintain categories which refer to a section or part that is being merged, but not to the whole target page. Klbrain (talk) 20:54, 15 October 2019 (UTC)
This should be optional since there are many mergers from purely duplicative articles for example all the Indian villages with two different transliterations. I also think detecting whether it's a redirect to section or not and tag appropriatly would be good. --Trialpears (talk) 21:14, 15 October 2019 (UTC)

Convert sfn to CS1[edit]

What the title says. Leave the sfn(s) if they are botched i.e. the corresponding reference can't be tracked. WBGconverse 14:43, 2 August 2019 (UTC)

Extract data from a frozen VisualEditor[edit]

Often VisualEditor ends up frozen and won't allow me to save or switch to markup-mode, giving instead a "docserver-http-error", "500", or "404" error (when the article has been renamed while I was editing). This happens about once a day.

It seems VisualEditor's API doesn't allow for extracting the markup data without connecting to the server.

I have two ugly ideas for how to solve this:

1. Regularly log wikimarkup when using VisualEditor to prevent loss of data when it freezes

  • Every 30 seconds, generate wiki-markup and console.log it.
  • If the connection to the server is broken, alert() me so that I may retrieve my markup from the console and reload the editor.

2. Extract the data model

  • Extract the data model, copy it to my clipboard
  • Reload the window
  • Paste the data model, and the user script applies it to the new instance of VisualEditor

Or if anyone knows a better way to retrieve data from a frozen VisualEditor, that'd be good to know.

With thanks, – Thjarkur (talk) 22:40, 3 August 2019 (UTC)

@Whatamidoing (WMF): Any ideas/comments? SD0001 (talk) 04:58, 21 October 2019 (UTC)
Þjarkur, the data model is actually already saved to localsession storage in your browser. If you randomly refresh the page during an editor session, you will note a small notification top right: "Changes recovered; Your unsaved changes have been automatically recovered". No idea however what happens when the page is moved during that time. It probably wasn't designed with that in mind. You might consider opening a phabricator ticket on that feature request, as it is not an uncommon situation I'd think. —TheDJ (talkcontribs) 09:22, 21 October 2019 (UTC)
SD0001, thanks for the ping. I really appreciate it when editors let me know about conversations. Thjarkur, thanks for posting about the problems you were having. I apologize for the delay in finding it. Inside the visual editor, there's a ? menu. At the end of that menu is an item for leaving feedback on the software. That posts your note over on MediaWiki.org, where the devs are likely to find it faster.
Yes, the ability to (usually) recover unsaved changes already exists. If the visual editor crashes, but your web browser doesn't, then you should be able to select-all and copy everything (or just the changes you were making) and then paste them back in. It won't work in 100% of the cases, but it usually works for me.
There was a spate of 404 problems recently. That's a separate thing (all about mw:RESTBase, and supposedly it's finally fixed now (as of last WP:THURSDAY?). Hopefully you're already seeing fewer of these problems. Whatamidoing (WMF) (talk) 17:10, 23 October 2019 (UTC)
The Restbase improvements did lessen the problem but I still run in to this way too often. The cookie-autosave is cleared if you accidentally clicked on Escape or clicked out of the VisualEditor, I think the cookie has only saved me in about 5% of cases. Does anybody know a way to interact with the VisualEditor instance in Javascript? – Thjarkur (talk) 15:51, 9 December 2019 (UTC)

Wanted cross-wiki reporting tool[edit]

  • I am writing here in the spirit of knowing if there is a possibility of having twinkle or any other tool to report users/ips on crosswiki noticeboards? on meta/local.
  • Basically twinkle with local/global choice or new script to report users would be great help. thanks QueerEcofeminist "cite! even if you fight"!!! [they/them/their] 02:31, 6 August 2019 (UTC)

Wanted: CSS script to display old padlocks on protected pages instead of new ones[edit]

I want to use a CSS script to display old padlocks to the right of the page title on protected pages instead of new padlocks. —Jencie Nasino (talk) 02:40, 14 August 2019 (UTC)

Jencie Nasino, see User:Enterprisey/old-prot-padlocks.css. You can use importStylesheet, like I did in this edit, or just copy-and-paste the whole thing into one of your user CSS files. Enterprisey (talk!) 05:13, 14 August 2019 (UTC)

Empty parameters[edit]

Is there a script that removes empty parameters in the cite web template like "df=" that is pretty much always empty? --Mazewaxie (talkcontribs) 13:28, 26 August 2019 (UTC)

t = t.replace(/\|\s*(?:df|mf|dmy|mdy)\s*\=\s*(?=[\|\}])/g, "");
where t is the wikitext, which you've hopefully obtained in some previous step.
Note that this whacks any parameter with one of the four names above (without regard to template name or amount of spacing), just as long as it's blank.
Removal of any blank parameter (but only from specific templates) (if that's what you actually need) would be a bit more complicated to pattern-match because preceding parameter values could contain any number of nested invocations of other templates.
cobaltcigs 06:56, 11 October 2019 (UTC)

Script allowing addition of inline cleanup tags directly from article page[edit]

Would it be possible to write a userscript which would allow addition of inline cleanup tags without having to open the full editor? I find myself reading articles on topics I'm curious about and spotting issues such as weasel words or uncited claims, and I want to add the cleanup tags, but this involves opening the editor and finding the same spot again, which infringes on my reading experience. I know, the standard response here is don't tag but be bold, and I try to do that whenever possible, but to be frank often this happens on topic I don't know much about or have very little interest in improving. I still think that in such situations providing some feedback to parties interested in improving the article may be of some use.

This request is really inspired by my experience of using User:Galobtter/Shortdesc helper. Since I've started using it, upon encountering pages without descriptions, I often find myself reading an article until I have some basic understanding of the topic and writing a description before navigating away, which is something I did significantly less before I discovered the aforementioned tool that makes it super easy.

Thanks for your consideration. Melmann 18:43, 9 September 2019 (UTC)

I have begun work on this. This is going to be a tough task to get right, so no promises on a finished product for now. SD0001 (talk) 10:47, 16 September 2019 (UTC)
Thank you for your effort, whether it results in a finished product or not. I'll be patiently waiting for my chance to try it out. Melmann 13:25, 21 September 2019 (UTC)
@Melmann: I know this isn't exactly what you wanted, but you can take a look at User:BrandonXLF/QuickEdit. It works by allowing you to edit individual sections without opening the full editor.BrandonXLF (talk) 19:38, 26 December 2019 (UTC)

Hide rollback link for unpatrolled edits[edit]

Hi everyone.

How to hide rollback button (.mw-rollback-link) if editing is performed by an autopatrolled user or has editing status unpatrolled? Of course, using custom scripts.

Thank you!-MrJaroslavik (talk) 14:37, 17 September 2019 (UTC)

An sidebar on the right would be nice![edit]

Having a floating sidebar on the right of the screen would allow for quicker use of Wikipedia, and I would like this to be implemented as a script (if possible). Cheers! creativeRajat@lk 16:20, 14 October 2019 (UTC)

Check out the Timeless skin (in your preferences) if you're not afraid of everything else looking different as well. Can't find anything in WP:US/L about a right-hand sidebar, but I feel like I remember one existing. Enterprisey (talk!) 04:44, 16 October 2019 (UTC)

TFD holding cell: button to mark template as ready for deletion[edit]

So I actually do have a suggestion/request. One thing that would be great is to be able to use this in the Holding cell. What I mean by that is that when a template that is currently listed in one of the holding sections is ready to be deleted, it would be great to be able to just click a button and have the entry moved to the bottom and to have the template in question updated as ready for deletion. Food for thought... --Zackmann (Talk to me/What I been doing) 00:24, 11 February 2019 (UTC)
Does that make any sense? Not sure if I did a great job explaining it... --Zackmann (Talk to me/What I been doing) 19:32, 15 February 2019 (UTC)
Yeah, something like this should be possible. I'll move this thread to WT:XFDC so this suggestion doesn't get lost in my talk page archives. - Evad37 [talk] 02:20, 16 February 2019 (UTC)
Thinking about this further, it's probably better off as a separate script – I don't think being part of XFDcloser would save a significant amount of code - Evad37 [talk] 01:06, 20 November 2019 (UTC)
Ping @Zackmann08: - Evad37 [talk] 01:12, 20 November 2019 (UTC)
Alternatively we could just stop bothering with the delete=1 business since it's completely useless anyway. ‑‑Trialpears (talk) 13:07, 3 December 2019 (UTC)

Some ideas[edit]

Some ideas copied from User:Enterprisey/Dashboard. If you make one of these scripts, strike the entry and add a link to your script.

  • Make a user script that is bound to a keyboard shortcut and pops up a modal where you can type a section header on the current page (auto-completed, of course) and jump to it
  • A user script to unify the "Alerts" and "Notices" icons (might not even be possible, but it would be cool if it happened) (see screenshots for the old icon with no notifications and one notification)
    • The API supports getting alerts and notification at once, completely possible.BrandonXLF (talk) 20:03, 18 December 2019 (UTC)
  • A user script to display the same info as PleaseStand's script, but in a very compact way so it doesn't cause reflow when the info shows up - also incrementally showing the data as API responses get back would be cool
  • A user script to expand a diff until it covers all contiguous edits made by that user (if a user made three consecutive edits and you view the diff of the middle, pressing a button should expand it to cover all three) (L235 suggestion)
  • A user script to give you a browser push notification when you get a Wikipedia notification
  • A user script so that whenever you go directly to a section, the section gets floated so that the header gets locked to the top of the screen. This will theoretically prevent the text from jumping around as the rest of the pages load. Now, the hard part is making sure that this script runs before the rest of the stuff making it jump around.
  • A user script to quickly switch between tabs, on pages that have tabs at the top (WikiProjects, village pumps, etc)
  • A user script to make stuff clickable in diffs. (Section headers, line numbers, etc.)
  • A script that puts a tab at the top of user script pages & user script documentation pages, to allow switching between them
  • A user script to highlight which content (in the HTML) comes from which template (suggested by MusikAnimal over IRC 23:18, 7 January 2019 (UTC))
  • A user script to say where a given template is being used. How to do it: call the Extension:TemplateSandbox endpoint (the one that gets hit when you do the "Preview page with this template" text field on a template edit page) with the wikitext of that template (but with a yellow border), and previewing the current page.
  • A user script that provides a button to mark all reverts (i.e. pages displayed with an edit summary that includes the word "reverted") as "visited" in the watchlist (suggested by Natureium)
  • A user script that takes an oldid and takes you to the deleted revision (idea was L235's, I think)
  • A user script to automatically add unsigned/undated templates
  • A user script so that whenever you click on a "hist" link in a user contribs page, the resulting page history highlights all contributions by that user (also has form on history page to perform such highlighting) (link)
  • A user script to show a pop-up section preview when you hover over its TOC link
  • A user script to make a single section edit, without reloading the whole page (shoutout to Gryllida for the idea)
  • A user script that redirects accidental navigation to 404's ending in a slash (say, Foo/) to the normal page (Foo)
  • A user script to put the current AIV count in your toolbar, Stack Overflow mod style.
  • Holding down CTRL lets you click into any template or link in the edit window
  • A user script to move discussions
  • A user script to hyperlink "per X" to the last comment X made
  • Edit just one section w/ "true" (no server-roundtrip) live preview
  • In diffs, show previews for both the old and new versions (with anchors to allow jumping)
  • Minimap for big diffs
  • A user script that removes newsletters and other recurring messages while viewing a talk page
  • There should be a way to jump directly to a user's comment from the history page (or, more broadly, if a diff consists of just a few lines being added in one place, to jump directly to those new lines instead of just to the top of the section). Implementation notes: Parallel fetch diff (mw:Api:Compare) and current wikitext, then split the wikitext by lines, go from the line number (from the diff HTML) to a string index into the wikitext, add a sentinel marker at that point, run it through Parsoid, find the sentinel, go up in the MediaWiki DOM to highest "paragraph" (or list element, for discussions), obtain the start and end string indices of the added region in the paragraph, pack up the (section header, paragraph index, start idx, end idx), reload the page with that 4-tuple in window.location.hash, and do the jump.
  • Replace page titles in watchlist & user contribs pages w/ their shortcuts for readability
  • A link at the end of every comment to the diff in which it was added. Needs some thought about how to make this as efficient as possible.

GUYWAN ( t · c ) 19:33, 5 December 2019 (UTC)

Group Special:Contributions by page[edit]

Not sure why this wasn't included in Special:Preferences#mw-prefsection-rc when the group by page option was added for recent changes and the watchlist, but I wanted to do precisely that on Special:Contributions pages. I looked everywhere and asked at the Village Pump, to no avail. So I'll leave this as a suggestion here. Guarapiranga (talk) 04:10, 10 December 2019 (UTC)

Script request[edit]

Hello everyone,

I was thinking if somebody can make a script for commenting, marking as done/not done, putting request onhold on WP:CHUS and same for WP:CHUU. If possible please try expanding it's functionality to m:SRUC.

Thank you! ‐‐1997kB (talk) 10:43, 10 December 2019 (UTC)

Request for a source-finder[edit]

Can someone possibly make a script that adds {{Find sources mainspace}} (The template itself is "Find sources: "Requests" – news · newspapers · books · scholar · JSTOR") on each page when editing? Or is there already a script for this? Please keep me updated! => dibbydib 💬/ 06:26, 12 December 2019 (UTC)

Dibbydib, does User:BrandonXLF/FindSources.js work? BrandonXLF (talk) 21:56, 13 December 2019 (UTC)

A script to improve linking and readability of the article on a specific date/year/century[edit]

Regarding the talks on (over)linking of dates

  1. Manual_of_Style#Linking#Linking_month-and-day_or_year
Is it correct that when we put e.g. years, centuries or dates in whatever form, between square brackets, the article gets listed automatically on the wikipedia article of that specific year? I can imagine that this can lead to a page where you it is difficult see what's relevant to you or not. Wouldn't it be interesting to ask for a script to be developed that allows people to show only those events related to e.g. a parameter "art", "politics", "notable people", "fun", "military", "priority level 1", "priority level 2", etc? Sincerely, --SvenAERTS (talk) 03
28, 31 December 2019 (UTC)
SvenAERTS, no, that's not correct, links don't cause articles to be automatically listed in a year article. What you're suggesting wouldn't be a user script, but a significant change to the core MediaWiki code. If you want to pursue it, you could bring it up at one of the WP:VILLAGEPUMP boards. --IamNotU (talk) 14:55, 31 December 2019 (UTC)

ZoomOnThumb gadget[edit]

The ZoomOnThumb gadget (to zoom images temporarily on mouseover) has been available for a long time on the fr.wiki "Gadgets" preferences page, and it works quite well. I suggest that it be installed among the Gadgets which all en.wiki users can enable through their preferences.

In the meantime, interested users can import it into their common.js script. See mine at User:Tonymec/common.js. Already loaded pages must be reloaded for this JS to work once you've added it to your common.js; AFAICT it doesn't work if the image is inside an infobox. — Tonymec (talk) 16:22, 20 January 2020 (UTC)

For convince for anyone interested, the code to install is mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-ZoomOnThumb.js&action=raw&ctype=text/javascript');. Tonymec, if you want this script to be installed as a gadget, make a request at WP:VPT.BrandonXLF (talk) 18:40, 24 January 2020 (UTC)
@BrandonXLF: OK. — Tonymec (talk) 21:30, 24 January 2020 (UTC)

unreliable.js, a predatory journals/vanity press highlighter[edit]

Image Resolved

Similar to User:Anomie/linkclassifier.js/User:Anomie/linkclassifier.css, I'd like a user script to highlight citations to predatory journals and vanity presses. The regex can be stolen/adapted from Special:AbuseFilter/891.

Basically, if a URL with a domain that matches the urls := part, highlight those links by making them... let's say pinkpink/some annoying color. Likewise, if a DOI matches the dois : part, highlight those in annoying pink as well (doi:10.4172/omicsjournalofnonsensedoi:10.4172/omicsjournalofnonsense). Or whatever other colour. If the script cannot dynamically be kept in sync with Special:AbuseFilter/891, I can take over and put it at User:Headbomb/unreliable.js and maintain it after that.

The idea is that, if you encounter a citation like

You get presented with something like

And know something's off. Multiple 'classes' and colors should be supported (each customisable as enabled/disabled), so that additional things like blacklisted links and possibly unreliable sources (like Forbes.com, which will often be fine, but sometimes not) can also be highlighted. Headbomb {t · c · p · b} 07:16, 6 February 2020 (UTC)

The basic version would look like this:
var PREDATORY_HREFS_RGX = /academicjournals\.com|academicjournals\.net|academicjournals\.org|academicpub\.org|academicresearchjournals\.org|aiac\.org\.au|aicit\.org|alliedacademies\.org|ashdin\.com|aspbs\.com|avensonline\.org|biomedres\.info|biopublisher\.ca|bowenpublishing\.com|ccsenet\.org|cennser\.org|clinmedjournals\.org|cluteinstitute\.com|cpinet\.info|cscanada\.net|davidpublisher\.org|etpub\.com|eujournal\.org|growingscience\.com|hanspub\.org|hoajonline\.com|hrmars\.com|iacsit\.org|iamure\.com|\.idosi\.org|igi-global\.com|iises\.net|imedpub\.com|informaticsjournals\.com|innspub\.net|intechopen\.com|intechweb\.org|interesjournals\.org|ispacs\.com|ispub\.com|julypress\.com|juniperpublishers\.com|kowsarpub\.com|kspjournals\.org|m-hikari\.com|macrothink\.org|mathewsopenaccess\.com|mecs-press\.org|oapublishinglondon\.com|oatext\.com|omicsonline\.org|ospcindia\.org|researchleap\.com|sapub\.org|scholink\.org|scialert\.net|scidoc\.org|sciencedomain\.org|sciencedomains\.org|sciedu\.ca|sciencepg\.com|sciencepub\.net|sciencepubco\.com|sciencepublication\.org|sciencepublishinggroup\.com|scipg\.net|scipress\.com|scirp\.org|scopemed\.com|sersc\.org|sphinxsai\.com|\.ssjournals\.com|thesai\.org|waset\.org|witpress\.com|worldwidejournals\.com|zantworldpress\.com/i;

var PREDATORY_DOIS_RGX = /doi.org\/10\.(11648|1166|1234|12677|12692|12720|12988|13005|13172|13188|14257|14303|14419|1453|14569|14662|15415|15373|15761|17265|18005|18052|18311|18775|19030|19044|19070|19080|1999|20472|20849|20902|21102|21767|22158|23937|2495|30654|30845|35841|36648|3844|3923|3968|4018|4156|4172|4236|4303|5267|5296|5376|5430|5455|5539|5567|5580|5772|5812|5815|5829|5897|5899|5923|5963|6007|7243|7439|7537|7575|7718|7763|9734)/i;

var cssRules = {
	"margin-right": "0.1em",
	"padding": "3px 4px 2px",
	"background-color": "#ffdddd",
	"border": "1px",
	"border-radius": "3px",
	"box-shadow": "0.1em 0.1em 0.25em rgba(0,0,0,0.75)",
	"-moz-box-shadow": "2px 2px 4px #A0A080",
	"-webkit-box-shadow": "2px 2px 4px #A0A080",
	"box-shadow": "2px 2px 4px #A0A080"
};

$('.mw-parser-output a.external').each(function() {
	if (PREDATORY_HREFS_RGX.test(this.href)) {
		$(this).css(cssRules);
	} else if (PREDATORY_DOIS_RGX.test(this.href)) {
		$(this).css(cssRules);
	}
});
Hopefully someone else can do the rest and provide customisability you ask for.
You should definitely simplify the massive regex (for instance, make the .com part common for all .com domains) for better performance. SD0001 (talk) 12:43, 6 February 2020 (UTC)
I can regex, what I can't do is .js from scratch, but the above should give me enough to get started. I'll give that piece of code a shot this afternoon. Performance probably isn't much of an issue. Headbomb {t · c · p · b} 13:54, 6 February 2020 (UTC)
@SD0001: User:Headbomb/unreliable.js doesn't seem to work, including your original code. This can be tested on Science Publishing Group, which has both a url and doi that should match. Headbomb {t · c · p · b} 14:45, 6 February 2020 (UTC)
Nevermind, I had a brainfart. Namely, I forgot to do this. Headbomb {t · c · p · b} 16:04, 6 February 2020 (UTC)
I should have mentioned that for it to load reliably, it needs to be ensured that the page has fully loaded before the script code is run. You can do this by wrapping the whole code between (function() { ... script code comes here ... })();
I see that you removed doi.org from the DOIs regex - this would mean that anyinnocentdomain.com/3424310.11648 would be flagged, as the link's url contains "10.11648". Markup like (doi)*?[ ]*?[=\|\:][ ]*? won't work here as we're checking against the HTML of the page (specifically, against external link URLs), not against the wikitext. [4] the i makes the regex test case-insensitive. SD0001 (talk) 17:16, 6 February 2020 (UTC)
Good to know. Didn't know about /i, but that will be useful. As for removing doi.org, that's desired to pickup "Journal of crap 10.4172/asdf10354" that might not make use of templates. false positives are far and few between, although normally I might add a final ...\/ at the end to ensure it matches a 10.4172/ and not just 10.4172. Clearly "(PRED_DOIS_RGX.test(this.href))" needs tweaking to look outside hrefs, but to what, I don't yet know. Headbomb {t · c · p · b} 17:21, 6 February 2020 (UTC)
@Headbomb: You can check whole reference texts (anything within <ref> tags) by using code like:
$('span.reference-text').each(function() {
    if (DOI_RGX.test(this.textContent)) {
        $(this).css(CSSRULE);
    }
});
SD0001 (talk) 17:47, 6 February 2020 (UTC)

@SD0001: Well, I don't want this to be restricted to ref tags either. I want to find those wherever on the page they may be. Headbomb {t · c · p · b} 17:56, 6 February 2020 (UTC)

Image Done Also, if something could only be detected/highlighted in specific namespaces, that would be good. For instance the current var WIKI_HREFS_RGX should really only be highlighted in main/draft spaces. Headbomb {t · c · p · b} 23:27, 6 February 2020 (UTC)

@SD0001:, any idea for how to look outside of references/links? Headbomb {t · c · p · b} 01:33, 11 February 2020 (UTC)

@Headbomb: Thanks for all your work on this so far! When finished, I do think this will be a very useful script, particularly for NPP/AFC folks.
Regarding looking outside references, it's a bit complicated. We'll need to iterate over all the text nodes on the page, extract the index at which the search hit begins, and wrap that in a span element, upon which we can then apply custom stylings. I can code this for you when I have time. But where the does the desire for doing this outside ref tags come from? SD0001 (talk) 18:02, 12 February 2020 (UTC)

@SD0001: A typical example would be in further reading section or external link sections where you could have something like

==Further reading
* Smith, J. (2019) "Article of things" ''Journal of Nonsense'' doi: 10.4172/123456798

It doesn't need to highlight the whole doi (although that would be neat if it could), but just the prefix/whatever it matches would be enough. Headbomb {t · c · p · b} 18:08, 12 February 2020 (UTC)

PROD handler[edit]

A script to make it a bit less time consuming for patrolling admins to assess proposed deletions. Single click to open a dialog which would check if:

  • the page has ever been PRODed before
  • the page has ever been nominated for deletion before
  • the page has ever been undeleted
  • the talk page has any content other than WikiProject templates

and buttons to:

  • open what links here (articles only) in a new tab or list them in the dialog
  • open the talk page in a new tab or show it in the dialog
  • accept the PROD and delete the page, talk page, and redirects
  • decline the PROD because ineligible or for a custom reason

--kingboyk (talk) 18:18, 13 February 2020 (UTC) (ping appreciated if there is a reply)

I now recall that the PROD template itself is supposed to indicate if the article has already been at AfD.
In recent days I have had to decline PRODs due to the article having been PRODded before (this is often difficult or impossible to spot in the history) and one where the article had previously been undeleted. --kingboyk (talk) 13:19, 14 February 2020 (UTC)

Easy to copy Special:Diff links on diff pages[edit]

Image Resolved

Example diff

  1. URL: https://en.wikipedia.org/w/index.php?title=Ivan_Bortnik&type=revision&diff=843666779&oldid=843651236
  2. Wikilink: Special:Diff/843651236/843666779

Note, how in the URL version 843666779 goes before 843651236, and it is the reverse in the wikilink syntax. It would be convenient, if one could easily copy [[Special:Diff]] syntax from the diff page. —⁠andrybak (talk) 10:50, 16 February 2020 (UTC)

@Andrybak: I think User:Enterprisey/diff-permalink is what you looking for. ‐‐1997kB (talk) 13:08, 16 February 2020 (UTC)
@1997kB: thank you! —⁠andrybak (talk) 11:39, 17 February 2020 (UTC)

Userscript help[edit]

I have imported a userscript from Meta-Wiki and have it at User:FlightTime/confirm-logout.js. I've tried to contact the author, but they seem to be inactive. The script asks for a conformation for logout, as seen here File:Logout screenshot.png. The script uses RGB color calls, What would be perfect would to change all RGB calls to Hex triplet, if that is not possible then the outcome I'm looking for is as follows:

background: #EEEEEE;

border: 2px solid #0000FF; (also the button borders)

text: #000

I am trying to match the boxes on my talk page

Any and all help will be greatly appreciated. Please ping me with comments/results. Thank you for your time, - FlightTime (open channel) 20:32, 23 February 2020 (UTC)

Script to display a drop down list of a user's all subpages in the top toolbar[edit]

I would like a drop down list in the top toolbar that displays a list of all of User's subpages like sandboxes, common.js pages, etc. Thanks in advance. DishitaBhowmik 16:50, 29 February 2020 (UTC)

@Dishita Bhowmik: User:BrandonXLF/Subpages do that to an extent. ‐‐1997kB (talk) 02:54, 1 March 2020 (UTC)
@Dishita Bhowmik: Since you would like it in the top toolbar, do you mean you want a link to a list of all the subpages of your userpage? if so, User:PrimeHunter/My subpages.js does that (minus the dropdown part).BrandonXLF (talk) 09:04, 1 March 2020 (UTC)
@BrandonXLF: and @1997kB:, thank you! DishitaBhowmik 16:35, 1 March 2020 (UTC)

A script to handle file renaming requests[edit]

A script to handle file renaming requests, which will do following this:

  • Rename the file
  • Remove the {{Rename media}} template.
  • Update file links

Similar to commons:MediaWiki:Gadget-AjaxQuickDelete.js. -- CptViraj (📧) 13:58, 2 March 2020 (UTC)