Wikipedia:User scripts/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 are 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 of user scripts, see this list. If you have been helped, please let us know, so that we may archive the request. |
Script for awarding WP:Four Awards
[edit]Wikipedia:Four Awards are really nice to receive, but unbearably tedious to award, as the record-keeping involves carefully noting dates, adding them to a really annoying table in a very annoying format, and doing other miscellanous tweaks. @Novem Linguae was kind enough to walk me through creating a design document for the concept - User:Premeditated Chaos/4A script idea. They're not free for a few months, but suggested I post it here in case anyone is interested in taking a whack at it. Thank you to anyone who looks, and feel free to edit that document or add questions on the talk page. ♠PMC♠ (talk) 06:25, 11 December 2024 (UTC)
- Won't all this focus on content distract us from our real goal: bickering and infighting? Polygnotus (talk) 10:12, 12 December 2024 (UTC)
- I could propose a script to automate that, so we could fit both in? ♠PMC♠ (talk) 12:16, 12 December 2024 (UTC)
- How dare you suggest a reasonable comprimise! That is not what we do here! Polygnotus (talk) 12:57, 12 December 2024 (UTC)
- I'm Canadian! It's instinctive! I'm sorry! ♠PMC♠ (talk) 13:55, 12 December 2024 (UTC)
- How dare you suggest a reasonable comprimise! That is not what we do here! Polygnotus (talk) 12:57, 12 December 2024 (UTC)
- I could propose a script to automate that, so we could fit both in? ♠PMC♠ (talk) 12:16, 12 December 2024 (UTC)
- I don't know if it will help, but {{GOCE award}} greatly simplified award delivery for the Guild of Copy Editors. The copy/paste samples are especially helpful. – Jonesey95 (talk) 17:33, 12 December 2024 (UTC)
- It's really the adding to the Records table with all the fiddly templates and dates that's the annoying part, which I'm not sure that template can really help with. ♠PMC♠ (talk) 01:00, 13 December 2024 (UTC)
- Please link to an example edit. – Jonesey95 (talk) 02:14, 14 December 2024 (UTC)
- There are diffs for each step in the script idea that I linked. ♠PMC♠ (talk) 04:55, 14 December 2024 (UTC)
- Please link to an example edit. – Jonesey95 (talk) 02:14, 14 December 2024 (UTC)
- It's really the adding to the Records table with all the fiddly templates and dates that's the annoying part, which I'm not sure that template can really help with. ♠PMC♠ (talk) 01:00, 13 December 2024 (UTC)
- @Premeditated Chaos: Rather late to the party, but I've also run into this friction when handing out 4As. I think a feasible solution that wouldn't need a script would be to change the template used to create new nominations. The work of finding the dates for the promotions could be passed to the nominator (which is honestly not that much hunting if it's only for one article), who would enter them into template parameters. The template could then spit out blocks of wikitext (for example, the table markup needed for the records page). This wouldn't automate the entire process, but would take away most of the pain points for regular award distributors. What do we think? —TechnoSquirrel69 (sigh) 03:46, 20 August 2025 (UTC)
- I'm not opposed to anything that will make it less annoying, although I have roughly the technical capability of a potato (this may be insulting to the worthy potato), so I am not remotely qualified to try to do it. ♠PMC♠ (talk) 22:27, 20 August 2025 (UTC)
- Despite the username, I'm no technical wizard either, but I've been working on my template markup recently, so let's see if I can't finagle something together. The best solution would still be a script, of course. —TechnoSquirrel69 (sigh) 04:33, 22 August 2025 (UTC)
- User:Alachuckthebuck/FourAwardHelper should be done. It's working correctly, but I ran out of 4 award nominations to test this on. Double check the results table afterwards to make sure it is outputting in the right position and didn't mess up the source. it gets the dates right, but I can't test if the table insertion is working yet. All the Best -- Chuck Talk 00:23, 2 April 2026 (UTC)
- Thanks so much for doing this, Chuck, I really appreciate it :) ♠PMC♠ (talk) 02:44, 3 April 2026 (UTC)
- User:Alachuckthebuck/FourAwardHelper should be done. It's working correctly, but I ran out of 4 award nominations to test this on. Double check the results table afterwards to make sure it is outputting in the right position and didn't mess up the source. it gets the dates right, but I can't test if the table insertion is working yet. All the Best -- Chuck Talk 00:23, 2 April 2026 (UTC)
- Despite the username, I'm no technical wizard either, but I've been working on my template markup recently, so let's see if I can't finagle something together. The best solution would still be a script, of course. —TechnoSquirrel69 (sigh) 04:33, 22 August 2025 (UTC)
- I'm not opposed to anything that will make it less annoying, although I have roughly the technical capability of a potato (this may be insulting to the worthy potato), so I am not remotely qualified to try to do it. ♠PMC♠ (talk) 22:27, 20 August 2025 (UTC)
Script for Wikipedia:WikiProject AI Cleanup/Noticeboard
[edit]Hi, would it be possible to combine the process outlined here by fifteen thousand two hundred twenty four into a single script for ease of use and to make it accessible for other users? This is for creating tracking tables for each report (ie. user), like at Wikipedia:WikiProject AI Cleanup/Noticeboard/2025-11-23 HyenaInTheSyntax for this report. Thanks Kowal2701 (talk) 20:58, 26 November 2025 (UTC)
- Copied the comment here:
Done, contributions were retrieved via CCI's contribution surveyor (uncheck minor edits, set a large negative bytes value like -999999), then formatted using regex and previewed in the editor. Diffs are quickly checked using navigation popups, wikiEdDiff is used for more in-depth checks, Who Wrote That? is used to investigate partial cleanups, and three scripts are used to make diff links more accessible. A final regex pass formats diffs added to notes and marks entries with them as completed. Can be done faster if the optional notes and completed entries are left out. fifteen thousand two hundred twenty four (talk) 05:10, 20 November 2025 (UTC)
- Copied the comment here:
- Kowal2701 (talk) 21:02, 26 November 2025 (UTC)
- Few things:
- should it only run on Wikipedia:WikiProject AI Cleanup/Noticeboard in sections that have
{{AIC status}}? If so, the template needs to be modified to include the relevant username; - should there be a limit to how many contributions to fetch, or should it allow uploading the output file from contribution surveyor?
- we cannot use Who Wrote That?, so there's no reliable way to automate excluding partially cleaned up diffs;
- I suppose it should also help in updating the subpage's table; if so, "Tagged" / "Addressed in X" should be its own column instead of being appended to Notes (as it currently is);
If you mean clusters of edits by this single user, those would be best kept to the current subpage and could use separate sections each with their own
This should not be the case; the subpage formatting needs to be ironed out and be strict. Regards, — DVRTed (Talk) 22:27, 26 November 2025 (UTC){{AIC article list}}. The formatting isn't strict at all
- Thanks, pinging Chaotic Enby who made the template and might know what some of that means Kowal2701 (talk) 22:42, 26 November 2025 (UTC)
- Thanks for the ping!
- That could be easy to do (but usernames would need to be retroactively added manually), although the end goal is to use it on all sections that need non-trivial cleanup
- I don't think there should be a numerical limit, although a time limit from December 2022 (public release of ChatGPT) onwards would make sense
- Not sure about how to deal with this one, sorry!
- Easy to add another optional column to the table
- Less than you'd think! If there are several tables, the indicator hatnote can correctly parse the total number of open cases in all of them
- Chaotic Enby (talk · contribs) 23:55, 26 November 2025 (UTC)
- No, it would be best if the script could work with arbitrary usernames independent of any reports.
- Ideally it should be able to fetch the same information contribution surveyor does, no limit to the number of contributions, and constrainable to date ranges. If this is infeasible (seems like API work to me) then allowing the contribution survey to be uploaded would still be an improvement.
- Expected.
- The three templates created for LLMN, {{AIC status}}, {{AIC article list}} and {{AIC article row}} were designed to be as easy to understand, update, and use as possible, so adding more parameters is undesirable. Any notes, while useful, are genuinely optional.
- {{AIC article list}} and {{AIC article row}} are strictly defined, but the subpage itself is not and can have multiple article lists or sections. {{AIC status}} handles this by parsing lines starting with
{{AIC article row|..., see Module:AIC_status#L-103. Any userscript would not be expected to be able to generate multiple article lists, only a monolithic one.
- Thanks for the ping!
- The main help would be in assisting editors in creating an initial raw article list. A bonus would be then assisting in the process of refining that list such as by helping review diffs, remove nonviable entries, change statuses, and add notes.
- Additional info: the only essential entries when creating a new list are articles which are "requested" or "ongoing". "completed" entries are optional when first creating a list. fifteen thousand two hundred twenty four (talk) 23:57, 26 November 2025 (UTC)
- I trust your answers for 1 and 4, while you're less comfortable with adding new parameters than I am, it definitely makes sense from a UX point of view, especially since you're the one who's been working with the large-scale pipeline. Chaotic Enby (talk · contribs) 00:01, 27 November 2025 (UTC)
- I'm personally willing to suffer the burden of indicating tagging status via notes for lists I'm compiling myself, but have little desire to indicate to others that adding or updating tagging status is necessary or expected by adding it as a parameter.
- My thoughts are that even without any announcements or guidance, there's been a surprising amount of engagement from editors uninvolved in the templates creation, and their simplicity and low burden to use is likely an important factor in this. fifteen thousand two hundred twenty four (talk) 00:35, 27 November 2025 (UTC)
- I trust your answers for 1 and 4, while you're less comfortable with adding new parameters than I am, it definitely makes sense from a UX point of view, especially since you're the one who's been working with the large-scale pipeline. Chaotic Enby (talk · contribs) 00:01, 27 November 2025 (UTC)
- should it only run on Wikipedia:WikiProject AI Cleanup/Noticeboard in sections that have
- Does this output look OK: testwiki:Wikipedia:WikiProject AI Cleanup/Noticeboard/2025-11-27 DVRTed? (edit source) — DVRTed (Talk) 11:48, 27 November 2025 (UTC)
- In any case, it's a thing now: User:DVRTed/AINB-helper; feel free to test it out. — DVRTed (Talk) 14:10, 27 November 2025 (UTC)
- Looks good! One detail, could it be helpful to make the parameter names explicit, for readability? Chaotic Enby (talk · contribs) 15:05, 27 November 2025 (UTC)
- I agree.
Added named parameters. — DVRTed (Talk) 17:43, 27 November 2025 (UTC)
- This looks really good, way better than I would have imagined, thank you DVRTed!
- Could you make a change on line 395:
− let wikitext = `Relevant report and discussionareviewable on the talk page.\n\n== Tracking list ==\n{{AIC article list\n`;+ let wikitext = `Relevant report and discussion may be viewable on the talk page.\n\n== Tracking list ==\n{{AIC article list\n`;- All reports currently on talk pages are part of a process I'm experimenting with to make cases less fragile when archived, and while I hope something permanent can be worked out, they're not currently guaranteed to exist. fifteen thousand two hundred twenty four (talk) 22:36, 27 November 2025 (UTC)
Done here. — DVRTed (Talk) 02:02, 28 November 2025 (UTC)
- I agree.
- Few things:
- I used this script to create Wikipedia:WikiProject AI Cleanup/Noticeboard/2025-11-28 ForayHistory, some feedback:
- The script generated separate parameters for each row which I had to fix with Special:Diff/1324595647
- It used named instead of anonymous parameters which seem incompatible with the auto count feature of {{AIC status}}, which reported 0 pages needing review
- Some elements of the "Select diffs to include" page have light-on-light or dark-on-dark text in dark mode
- EvenTwist41 (talk) 16:24, 28 November 2025 (UTC)
- Just fixed the second point by making the auto count work with named parameters. Chaotic Enby (talk · contribs) 16:40, 28 November 2025 (UTC)
- Fixed the template with: Special:Diff/1324642409. I couldn't reproduce the dark mode issue with Wikipedia:Dark mode (gadget); are you using something else? — DVRTed (Talk) 21:11, 28 November 2025 (UTC)
- I'm using the dark mode option in the appearance menu. EvenTwist41 (talk) 21:20, 28 November 2025 (UTC)
Done It should look a lot better now in dark mode. — DVRTed (Talk) 22:23, 28 November 2025 (UTC)
- Thanks, just one more thing: In order for automatic mode to work, you need to duplicate the
.skin-theme-clientpref-nightstyles for.skin-theme-clientpref-osinside a(prefers-color-scheme: dark)media query. EvenTwist41 (talk) 00:34, 30 November 2025 (UTC)- I intentionally avoided that because I didn't want the "OS" preference to affect the script. I find it more comfortable to use Wikipedia on light mode even though my device (and browser) are set to dark mode. LMK if I've missed something that would prevent the script dialog from switching to dark mode when dark mode is enabled on Wikipedia. — DVRTed (Talk) 14:36, 2 December 2025 (UTC)
- I think you misunderstood, the automatic mode I'm referring to is an option in the appearance menu and it already changes many of the colors in the script dialog if the system is set to dark mode, but it has the same problem the Wikipedia dark mode option had before you added the
.skin-theme-clientpref-nightstyles. Note the.skin-theme-clientpref-osselector in the example, this prevents the styles from applying to the light mode option which is the default and doesn't set this class. EvenTwist41 (talk) 00:50, 4 December 2025 (UTC)
- I think you misunderstood, the automatic mode I'm referring to is an option in the appearance menu and it already changes many of the colors in the script dialog if the system is set to dark mode, but it has the same problem the Wikipedia dark mode option had before you added the
- I intentionally avoided that because I didn't want the "OS" preference to affect the script. I find it more comfortable to use Wikipedia on light mode even though my device (and browser) are set to dark mode. LMK if I've missed something that would prevent the script dialog from switching to dark mode when dark mode is enabled on Wikipedia. — DVRTed (Talk) 14:36, 2 December 2025 (UTC)
- Thanks, just one more thing: In order for automatic mode to work, you need to duplicate the
- I'm using the dark mode option in the appearance menu. EvenTwist41 (talk) 21:20, 28 November 2025 (UTC)
- Update: It's now possible to edit the
aic-rows in place; feel free to try it out here: User:DVRTed/sandbox2 (see the Action table header). PS: it breaks if you have templates inside|notes=. — DVRTed (Talk) 10:29, 3 December 2025 (UTC)- Good addition. Two issues:
- Cannot parse rows without parameter names:
{{AIC article row|Example|requested|foo}}returnsCould not find row data for this article.
- Cannot parse rows with empty or absent notes parameter (notes are optional):
{{AIC article row|article=Example|status=requested|notes=}}and{{AIC article row|article=Example|status=requested}}returnCould not find row data for this article.
- Cannot parse rows without parameter names:
- Observations:
- Cannot parse alternate status names like
rorto do, not really an issue since it still allows updating the status. - Can be confused if there are multiple entries with the same article name, but this isn't valid in practice and would be a user issue.
- Cannot parse alternate status names like
- fifteen thousand two hundred twenty four (talk) 01:46, 4 December 2025 (UTC)
Done, except for the last point--not realistically possible to handle multiple entries with the same article name, because article names are treated as unique IDs to identify the rows. — DVRTed (Talk) 03:51, 4 December 2025 (UTC)
- Checked again, found no more actual issues, thank you. fifteen thousand two hundred twenty four (talk) 06:47, 4 December 2025 (UTC)
- Good addition. Two issues:
This is amazing and I feel ungrateful asking for any more, but--I am setting up a large case where we are fairly sure LLM use started in June 2024. Is there some way to automate removing (or not adding) entries for which all edits are prior to that date? M kuhner (talk) 14:14, 26 June 2026 (UTC)
- @M kuhner Done. There's now a date picker on the first step that defaults to December 2022--only edits made after that date are fetched. It was always anchored to that date before, but now you can change it or clear it to fetch all-time contribs. — DVRTed (Talk) 15:37, 3 July 2026 (UTC)
- Amazing, thank you! I have a bunch of new trackers to start soon and will report back on how it goes. M kuhner (talk) 20:24, 3 July 2026 (UTC)
- Just wanted to express thanks for the date picker, it is SO helpful when LLM use started (as it often does) in 2024 or 2025 but there are earlier edits which are fine. Also really helps to focus attention on getting a solid start date. M kuhner (talk) 18:08, 1 August 2026 (UTC)
I would like to request a way to filter out tiny edits. I have been doing this by hand for the larger cases: no one wants to click into 100 "+4" edits to find out that 99 of them are adding wikilinks, and I personally think that the occasional error is acceptable. My rule of thumb is, if every positive edit to an article is less than 80 bytes, it's generally not worth checking; and even in an article that needs checking, I don't individually check the tiny edits. For negative edits I set the threshold around -40 (negative edits are less predictable). I don't use the buttons for this as they are too laggy, I use Source Editor directly, but it's still tedious to manually mark hundreds of entries.
The conservative way to do this would be a button "Remove tiny edits" that could be used after spot-checking a few (editor styles differ and it's possible there's someone out there whose tiny edits are not innocent). The radical way would be not to list tiny edits in the first place, and have no entries for articles with only tiny edits. In a month of spotchecking I've seen very few errors for the above rule of thumb, so I'd personally support the radical way, but either would be great. (The conservative way is insurance against some joker realizing they can hide their malfeasance by making innumerable tiny edits, or balancing additions with deletions.)
What do people think? Would this be a useful addition? As "case cleanup person" it sure would for me. I think "750 articles awaiting review" is hard on morale, and the cases would likely get more attention if it were "120 articles awaiting review"--which it often would be once tiny edits were excluded. M kuhner (talk) 18:27, 1 August 2026 (UTC)
- I don't like the idea of missing major changes just because the bytecount is small, entire rewrites (diffs from one of the earliest cases) can hide behind even a +0. Sometimes the work that needs to be done is just tedious. fifteen thousand two hundred twenty four (talk) 19:00, 1 August 2026 (UTC)
- That's certainly a concern. The opposing concern is that the cases don't get done at all, because no one wants to do that tedious work: and then the bigger edits aren't checked either. That's my impression of the current state of AINB. The LLMPRODs get done, but the article edits generally don't get done at all, unless something about the case (like sockpuppetry or ANI) attracts particular attention. A somewhat error prone process may still be better than nothing. M kuhner (talk) 19:39, 1 August 2026 (UTC)
- Counter-suggestion: put large byte count edits in one section and small byte count edits in another. Then anyone who feels motivated can check them, but in the meantime they do not obscure the bigger ones, and editors can have a sense of accomplishment by cleaning the first section. I have to say, sense of accomplishment seems pretty important here, given the backlog. M kuhner (talk) 19:41, 1 August 2026 (UTC)
- I do not believe this will help cleanup completion rates, but I don't think it would harm anything either. No opposition. fifteen thousand two hundred twenty four (talk) 17:26, 2 August 2026 (UTC)
- Surely we should be measuring edits by how many characters are changed instead of by bytes added/removed? Bit late I guess, but I've inquired about it (might make a phab report if noone tells me it's dumb). I support whatever would make M kuhner's life easier, though sequestering the small edits might mean they never get done. Maybe there could be a tool that combined mw:Who Wrote That? and User:Nardog/DiffUndo that made untangling and reverting old edits by a certain user (while restoring content that was replaced) much easier Kowal2701 (talk, contribs) 17:44, 2 August 2026 (UTC)
- All of that sounds utopian. I hope some of it is feasible! You are an LLMPROD demon but the disentangling tends not to get done--I slowly plow through one case, five more appear.
- I'll look at DiffUndo. Right now Who Wrote That is not working right on Firefox, which is extremely frustrating--had to postpone a lot of articles because I really need it.
- Better the small edits not get done than the big ones. We've had several cases where the 200-300 byte edits were really, really bad. M kuhner (talk) 18:03, 2 August 2026 (UTC)
- Tbh I'm a bit ruthless w it, if there aren't significant edits after it (like ones that add content or do something time-consuming) I just restore an earlier version, and the bar for what counts as significant gets higher the larger/more difficult the LLM edits are Kowal2701 (talk, contribs) 18:35, 2 August 2026 (UTC)
- This is a great way to have a run-in with the Infobox Gnome, as I bet all of us have found.... I've taken to opening another window on the infobox code, ruthlessly restoring, and then copying over or hand-correcting the infobox.
- But very old articles are super painful. I use Who Wrote That? (wish it was working now) and hope they did large chunks of text. If not I just tag and pray. M kuhner (talk) 20:46, 2 August 2026 (UTC)
- yeah lol, always worth checking the page history for their username, I can't be bothered to use Preview. If DiffUndo was more suited to small changes it'd be great, but atm you have to 'restore' most of the article line by line Kowal2701 (talk, contribs) 20:56, 2 August 2026 (UTC)
- (courtesy ping Nardog) Kowal2701 (talk, contribs) 20:59, 2 August 2026 (UTC)
- Tbh I'm a bit ruthless w it, if there aren't significant edits after it (like ones that add content or do something time-consuming) I just restore an earlier version, and the bar for what counts as significant gets higher the larger/more difficult the LLM edits are Kowal2701 (talk, contribs) 18:35, 2 August 2026 (UTC)
- @M kuhner
put large byte count edits in one section and small byte count edits in another
Do you mean another column on the existing table, or an entirely separate table for "smaller" edits? The former would be somewhat tedious to implement while maintaining compatibility with older tracking pages, and the latter would mean the same article could show up in both tables—which would be confusing and redundant. Resense of accomplishment seems pretty important here
: would a progress bar of some sort help, perhaps? Something like https://imgur.com/a/GaK2i6J. — DVRTed (Talk) 17:54, 6 August 2026 (UTC)- I mean two separate tables, one with articles that had at least one large edit, and one with articles that only had small edits; so there would be no overlap. But this probably needs more thought. The truth is, I am never going to check runs of +4 edits, even though there is a non-zero chance that one of them is a sleeper. I'm around ten thousand articles behind and the logistics just don't work out. So the effort put into making the small-edit table would likely be wasted. The truth is that what I want is for articles with only small edits to be left out of the tracker, and there's not a clear consensus that that would be okay. I maybe need to get more people into a discussion. M kuhner (talk) 15:38, 18 August 2026 (UTC)
- tbh I sometimes just skip over the tiny edits and leave those to the backlog, but ik that's less satisfying cos it doesn't end up 100%'d. I just see so many edits that are like 200 bytes but are total rewrites, even sometimes it's a rewrite of a paragraph or lead that comes out at like 40 bytes. I think excluding edits under like 12 bytes (3 links) would be very safe, but we can go higher if you want? Kowal2701 (talk, contribs) 15:58, 18 August 2026 (UTC)
- I like to close cases and not just leave them to backlog, which makes more work later. I agree that 200 is not innocent. I think my current working rule is that under roughly 35 (and positive) is pretty safe; much more so if there are a run of the same or very similar numbers across many articles, but that would be hard to check for. (If editor added +30 to 10 different articles in a row, it is nearly always adding the same thing, usually a See Also or a fancy wikilink with text substitution.) M kuhner (talk) 17:08, 18 August 2026 (UTC)
- 35 as a lower bound is good, I can agree to that. Categories is one I've seen a fair bit. Maybe there's a way to exclude edits in a row that are the same byte size? Or we're just creating headaches for DVRTed :) Kowal2701 (talk, contribs) 17:32, 18 August 2026 (UTC)
- I like to close cases and not just leave them to backlog, which makes more work later. I agree that 200 is not innocent. I think my current working rule is that under roughly 35 (and positive) is pretty safe; much more so if there are a run of the same or very similar numbers across many articles, but that would be hard to check for. (If editor added +30 to 10 different articles in a row, it is nearly always adding the same thing, usually a See Also or a fancy wikilink with text substitution.) M kuhner (talk) 17:08, 18 August 2026 (UTC)
- (eg. I just came across which was a rewrite and 184 bytes) Kowal2701 (talk, contribs) 16:41, 18 August 2026 (UTC)
- tbh I sometimes just skip over the tiny edits and leave those to the backlog, but ik that's less satisfying cos it doesn't end up 100%'d. I just see so many edits that are like 200 bytes but are total rewrites, even sometimes it's a rewrite of a paragraph or lead that comes out at like 40 bytes. I think excluding edits under like 12 bytes (3 links) would be very safe, but we can go higher if you want? Kowal2701 (talk, contribs) 15:58, 18 August 2026 (UTC)
- I mean two separate tables, one with articles that had at least one large edit, and one with articles that only had small edits; so there would be no overlap. But this probably needs more thought. The truth is, I am never going to check runs of +4 edits, even though there is a non-zero chance that one of them is a sleeper. I'm around ten thousand articles behind and the logistics just don't work out. So the effort put into making the small-edit table would likely be wasted. The truth is that what I want is for articles with only small edits to be left out of the tracker, and there's not a clear consensus that that would be okay. I maybe need to get more people into a discussion. M kuhner (talk) 15:38, 18 August 2026 (UTC)
- @M kuhner (And... like, anybody else): something I know WP:DEPUTY does on CCI cases is let you preview diffs, so you don't even have to open them up in your browser. (File:Deputy CCI interface.png) I use this a lot on CCIs to look for non-problematic edits, as it lets me clear out a bunch of easy diffs quickly. (example from last night: ) Do you think this is something that would work well in your workflow? GreenLipstickLesbian💌🧸 05:18, 19 August 2026 (UTC)
- Counter-suggestion: put large byte count edits in one section and small byte count edits in another. Then anyone who feels motivated can check them, but in the meantime they do not obscure the bigger ones, and editors can have a sense of accomplishment by cleaning the first section. I have to say, sense of accomplishment seems pretty important here, given the backlog. M kuhner (talk) 19:41, 1 August 2026 (UTC)
- That's certainly a concern. The opposing concern is that the cases don't get done at all, because no one wants to do that tedious work: and then the bigger edits aren't checked either. That's my impression of the current state of AINB. The LLMPRODs get done, but the article edits generally don't get done at all, unless something about the case (like sockpuppetry or ANI) attracts particular attention. A somewhat error prone process may still be better than nothing. M kuhner (talk) 19:39, 1 August 2026 (UTC)
Hi, thank you again for this amazing tool, but we're back with another problem. Can an end date as well as a start date be given? I had been thinking of asking for this for users who accepted the warnings and stopped using LLM on a certain date, but we just found another and rather pressing use for it. We have a case where someone has used LLM for many if not all of their large edits for several years, but is also a vandalism patroller--there are very long runs of anti-vandalism edits. The total number of edits far exceeded what a page can support. We are thinking of making the tracker in chunks, omitting the patrolling activities. (Alternatively, I know it is risky and can miss things, but with 20K edits we are going to miss things--being able to omit small edits would really, really help here.)
I can't speak for other tracker users, but I have not been able to make good use of the ability to exclude edits or pages while creating the tracker (other than by date) as it is too cumbersome in practice. I invariably select all edits and then cull the resulting page. Not a complaint, just some user feedback if it's useful. M kuhner (talk) 15:33, 18 August 2026 (UTC)
Done here. I've also added a button to unselect smaller edits that takes a custom input for the minimum edit size (in bytes) to keep selected—defaults to 35; it works in both + and - directions. Re I have not been able to make good use of the ability to exclude edits [...] as it is too cumbersome in practice
: I agree it's pretty clunky. I've tried different ideas, but I'm now out of ideas. Perhaps an interface similar to WP:Huggle could be more intuitive, or maybe it just needs more filters. I'm not sure. — DVRTed (Talk) 20:39, 18 August 2026 (UTC)- You are amazing. Thank you so much. M kuhner (talk) 21:28, 18 August 2026 (UTC)
- One additional filter would be to remove edits that establish a redirect. These are often 70-80 bytes, not in a range where removing them on length is safe, but they are not going to be (detectably) LLM. Not useful in the majority of cases, but when useful, substantially so (I just checked ten of these on one case, and I bet there are more). I presume they'd be fairly easy to remove as they have a unique tag. M kuhner (talk) 22:15, 18 August 2026 (UTC)
- Good idea. Maybe just "Unselect by tags" to unselect anything listed here: Special:Tags. — DVRTed (Talk) 22:49, 18 August 2026 (UTC)
- Goodness, most of those are not presumptively innocent. And there are far too many to ask the script user to pick out which ones to exclude. I think the only three I'd want to exclude are "mw-reverted" (I think you already do), and "mw-new-redirect" and "mw-changed-redirect-target" which I don't think can ever be shown to be LLM. M kuhner (talk) 23:02, 18 August 2026 (UTC)
- It'll populate a list of tags from the edits—not from that Special: page. :) I think taking out Twinkle/Huggle/RedWarn could be helpful sometimes. See https://imgur.com/8YwzFHq. — DVRTed (Talk) 23:09, 18 August 2026 (UTC)
- God you're good. I think excluding reverts would be good as well (I assume this can be done with the tags for Undo and Manual revert?), in cases where the user is re-reverting removal of their content, them adding that content still gets included Kowal2701 (talk, contribs) 23:42, 18 August 2026 (UTC)
- Yeah, I had doubts about Manual revert but your argument seems sound. Anything to get the count down--we just made a 1084 article tracker (and that's after a +/- 35 cutoff!) M kuhner (talk) 02:32, 19 August 2026 (UTC)
- God you're good. I think excluding reverts would be good as well (I assume this can be done with the tags for Undo and Manual revert?), in cases where the user is re-reverting removal of their content, them adding that content still gets included Kowal2701 (talk, contribs) 23:42, 18 August 2026 (UTC)
- It'll populate a list of tags from the edits—not from that Special: page. :) I think taking out Twinkle/Huggle/RedWarn could be helpful sometimes. See https://imgur.com/8YwzFHq. — DVRTed (Talk) 23:09, 18 August 2026 (UTC)
- Goodness, most of those are not presumptively innocent. And there are far too many to ask the script user to pick out which ones to exclude. I think the only three I'd want to exclude are "mw-reverted" (I think you already do), and "mw-new-redirect" and "mw-changed-redirect-target" which I don't think can ever be shown to be LLM. M kuhner (talk) 23:02, 18 August 2026 (UTC)
- Good idea. Maybe just "Unselect by tags" to unselect anything listed here: Special:Tags. — DVRTed (Talk) 22:49, 18 August 2026 (UTC)
- @DVRTed, sorry to keep bothering you, is it possible to have the subpages created with {{NOINDEX|visible=yes}} so they aren't indexed by search engines? I think for users using their real name this is a particular concern Kowal2701 (talk, contribs) 15:24, 20 August 2026 (UTC)
- No problem! I assume this is how the template works: special:diff/1370346965. — DVRTed (Talk) 16:22, 20 August 2026 (UTC)
- Thanks. Yes that looks right (CCI use it for their subpages, eg. Wikipedia:Contributor copyright investigations/Rosser1954) Kowal2701 (talk, contribs) 16:26, 20 August 2026 (UTC)
- I assume this thread will get archived soon. If so, feel free to share suggestions here in the todo list (or by upvoting/downvoting the existing ones) or start a new section to discuss anything related to the script: User talk:DVRTed/AINB-helper. — DVRTed (Talk) 17:54, 20 August 2026 (UTC)
- I put a request there, inspired by today's unpleasant crop of cases. Thank you again! M kuhner (talk) 06:23, 22 August 2026 (UTC)
- No problem! I assume this is how the template works: special:diff/1370346965. — DVRTed (Talk) 16:22, 20 August 2026 (UTC)
Word limit counter for PIA discussions
[edit]Re: Clarification request: Palestine-Israel articles 5 and because it was queried over here, is it possible to get a user script which indicates to editors their word count for formal PIA discussions, using Special:AbuseFilter/1339 to filter it appearing on talk pages?
As a reference there have been quite a few discussions with editors going over limits so far, hence to some degree it's ended up at ARCA, thus prevention is always better than cure when possible. I believe there would also be demand for such a script at present.
There is already User:GoldenRing/wordcount.js as a framework, as well as Template:Arbitration Committee word status, but ideally we'd have a user-end script for this. I'm thinking something similar to User:Novem Linguae/Scripts/VoteCounter.js in the way it presents on talkpages (at the top of formal discussions), combining 1339 filtered pages with VoteCounter-style filtering of formal discussions. Pinging creators of script/templates referenced. Regards, CNC (talk) 09:54, 23 December 2025 (UTC)
- There is also User:L235/wordAndLinkCounter.js, for some attempt at this from an admin's perspective. Best, KevinL (aka L235 · t · c) 20:00, 28 December 2025 (UTC)
- @L235, I've created my implimentation at User:Alachuckthebuck/piawordcount.js. Documentation is atUser:Alachuckthebuck/piawordcount. All the Best -- Chuck Talk 22:14, 4 May 2026 (UTC)
- @Alachuckthebuck: Thanks! I just flagged this for the clerk team. Best, KevinL (aka L235 · t · c) 19:54, 31 May 2026 (UTC)
- @L235, I've created my implimentation at User:Alachuckthebuck/piawordcount.js. Documentation is atUser:Alachuckthebuck/piawordcount. All the Best -- Chuck Talk 22:14, 4 May 2026 (UTC)
Outdenting tool
[edit]From Wikipedia:Village pump (technical)/Archive 226#Outdent tool:
The [Reply] tool makes it very easy for editors to continually reply without ever outdenting the thread. That makes it difficult to read, especially on a smartphone/narrow screen.
I've been fixing these by hand, but I'd like a less error prone method. The ideal might look something like this:
- One-click button/very easy to operate on a single ==Section== of a long talk page.
- The targeted level might be a configurable number between, say, 8 and 16, but defaults to 10.
- The script only does something if there is at least one line in the section that starts with n+3 colons. (This will prevent overuse/outdenting just one or two lines.)
- Replaces n colons with
:{{outdent}}on the first line with n colons. - On all subsequent consecutive lines with n (or more) colons, the first n colons are replaced with
:. - If more than one heavily indented sub-thread exists, then
:{{outdent}}is added to the first line of each group. - A diff of all changes is automatically displayed (no automated posting).
- A sensible edit summary is pre-loaded.
Does this seem feasible for a user script? WhatamIdoing (talk) 00:34, 29 December 2025 (UTC)
- While feasible, as written (and as you've done by hand) this will lead to confusion like how Special:Diff/1329950687 made this comment appear to be a reply to this one when it was actually indented as a reply to a completely different comment, or this as a reply to this rather than this as as originally, or odd indentation on this which at least makes it more obvious that this is probably not really a reply to this (it was actually a reply to this) even though the indenting (and these comment links) makes it look that way. A better script would avoid doing things like that. Anomie⚔ 13:26, 29 December 2025 (UTC)
- Would the approach you have in mind still be useful in discussions that don't happen in chronological order? The main problem seems to be situations that start off as:
- Alice
:Bob:Chris:David- and then Eve replies underneath Bob's comment, and they argue with each other for the next 20 comments. WhatamIdoing (talk) 17:26, 29 December 2025 (UTC)
- Whether in chronological order or not, multiple sub-threads are fairly common. The key would be to not outdent a subthread to the point where a different subthread gets confusingly imported into it. To take your example, getting turned into
Alice : Bob :: Eve ::: Bob :::: Eve ::::: Bob :::::: Eve ::::::: Bob :: Chris :: David
gets confusing, whereAlice : Bob :: Eve ::: Bob : {{outdent}} : Eve :: Bob ::: Eve :::: Bob :: Chris :: David
doesn't. This may mean that sometimes there's no outdenting that could be reasonably done, but IMO that's better than the alternative. What we probably really need is for CSS or MediaWiki to do the visual outdenting for us, in a way that indicates where the outdented block ends as well as where it begins and without changing the wikitext. Anomie⚔ 18:16, 29 December 2025 (UTC)Alice : Bob :: Eve ::: Bob :::: Eve ::::: Bob ::: {{outdent}} ::: Eve :::: Bob :: Chris :: David
- When I'm doing that manually, and the last outdented comment is at/near the indentation level of the next comment, I sometimes add an extra outdent tag to the next comment or a ===Subsection=== break.
- I don't think there are any ideal solutions for this. Do you think you could code something that's an improvement, even if it's not perfect? WhatamIdoing (talk) 21:49, 29 December 2025 (UTC)
- I've researched the exact question you discuss; here are my conclusions: phab:T377849#10250945. CD inserts outdent templates the exact way Anomie suggests:
The key would be to not outdent a subthread to the point where a different subthread gets confusingly imported into it.
Still, in Russian Wikipedia you sometimes end up with discussions that are basically flat (using{{outdent|0}}) at some 15th level (because there is some 14-level comment below that doesn't allow to do a wide outdent), or with only 1 outdent step.But yes, it only inserts the outdent for your reply when you reply. It isn't able to transform existing threads. Jack who built the house (talk) 12:34, 21 April 2026 (UTC)
- I've researched the exact question you discuss; here are my conclusions: phab:T377849#10250945. CD inserts outdent templates the exact way Anomie suggests:
- Whether in chronological order or not, multiple sub-threads are fairly common. The key would be to not outdent a subthread to the point where a different subthread gets confusingly imported into it. To take your example,
- FWIW, among other things a similar thing is done on your replies only by c:User:Jack who built the house/Convenient Discussions when you use its reply tool; it doesn't do the "convert everything" thing you mentioned. Aaron Liu (talk) 16:28, 31 December 2025 (UTC)
- Came to say this! FaviFake (talk) 16:26, 18 January 2026 (UTC)
Syntax highlighting
[edit]Apologies if this exists, but I couldn't find it. The closest mention was this.
When using the source editor it can be hard to discern text from references, especially if there is less text than references.
I would like a script that colours anything between <ref></ref> tags a different colour than the text. They can be the same colour, or even better a different (random) colour for each reference while the text stays unchanged.
To my layman mind this seems like a trivial thing to implement for someone who knows JavaScript, but I could be wrong. If a script or gadget like this already exists—even better!
Thanks. TurboSuperA+[talk] 07:39, 8 January 2026 (UTC)
- @TurboSuperA+ Have you tried Preferences → Beta features →
Improved Syntax Highlighting? — DVRTed (Talk) 07:50, 8 January 2026 (UTC)
- Now I have. Thanks. Although it doesn't work on mobile.
- Colours seem "muted", if that makes sense. Is there a way to change colours and colour scheme? I'd like the colours to be brighter and there to be stronger contrast between the article text and code/markup. TurboSuperA+[talk] 07:59, 8 January 2026 (UTC)
- I've not personally tested it, but it seems like you can write your own CSS overrides for its classes: mw:Help:Extension:CodeMirror#Color and style customization.
- For example, to change the color of the template name:
.cm-mw-template-name {
color: red;
}
- That preferably goes into your Special:MyPage/common.css. — DVRTed (Talk) 08:14, 8 January 2026 (UTC)
- Woah. That is exactly what I need! Thanks a lot. Btw, it looks like syntax highlighting works on mobile in this comment box. I'll try refreshing and see if it then works on article source editing. TurboSuperA+[talk] 08:19, 8 January 2026 (UTC)
- Nope. Which is strange, no? That I have syntax highlighting in this box but not in the source editor. TurboSuperA+[talk] 08:21, 8 January 2026 (UTC)
- @TurboSuperA+ It seems like CM is not enabled on mobile; the "comment box" is likely from DiscussionTools or something similar. I wrote a little script to enable it while source-editing a page on mobile; LMK if it works for you: User:DVRTed/minerva-enableCM.js. — DVRTed (Talk) 09:56, 8 January 2026 (UTC)
- Where do I put the script? In global or my userscripts? TurboSuperA+[talk] 10:48, 8 January 2026 (UTC)
- Add
{{subst:iusc|User:DVRTed/minerva-enableCM.js}}to your common.js file. — DVRTed (Talk) 11:00, 8 January 2026 (UTC)- It works! Great job!
- And to confirm, common.css still applies, right? TurboSuperA+[talk] 11:49, 8 January 2026 (UTC)
- Yep! — DVRTed (Talk) 12:18, 8 January 2026 (UTC)
- Add
- Where do I put the script? In global or my userscripts? TurboSuperA+[talk] 10:48, 8 January 2026 (UTC)
- @TurboSuperA+ It seems like CM is not enabled on mobile; the "comment box" is likely from DiscussionTools or something similar. I wrote a little script to enable it while source-editing a page on mobile; LMK if it works for you: User:DVRTed/minerva-enableCM.js. — DVRTed (Talk) 09:56, 8 January 2026 (UTC)
- Nope. Which is strange, no? That I have syntax highlighting in this box but not in the source editor. TurboSuperA+[talk] 08:21, 8 January 2026 (UTC)
- Woah. That is exactly what I need! Thanks a lot. Btw, it looks like syntax highlighting works on mobile in this comment box. I'll try refreshing and see if it then works on article source editing. TurboSuperA+[talk] 08:19, 8 January 2026 (UTC)
- That preferably goes into your Special:MyPage/common.css. — DVRTed (Talk) 08:14, 8 January 2026 (UTC)
Merge proposals
[edit]Are there any scripts available which start merge proposals discussions, tag the appropriate pages and notify appropriate WikiProjects? TarnishedPathtalk 09:58, 6 July 2025 (UTC)
- None come to mind off the top of my head. You can always check WP:US/L if you haven't already. –Novem Linguae (talk) 11:39, 11 July 2025 (UTC)
- Tools to help with the actual merge process, including adding merge from templates to talk and setting up redirects, but nothing to start merge discussions and automate adding notices to the top of affected pages. TarnishedPathtalk 12:04, 11 July 2025 (UTC)
- I'd love this too! Merge proposals are much less complicated than XfDs but for some reason there still isn't anything that can nominate two pages for merging. I can imagine a sidebar link that, when clicked while on the target page, asks for a list of pages to merge, applies the same tag to all of them, and sends me to the talk page so I can write my rationale. FaviFake (talk) 16:36, 18 January 2026 (UTC)
- I think I'd like to take a stab at it if such a script doesn't exist yet. I'd appreciate if someone could review the rough specs at User:DVRTed/sandbox/merge-helper-specs, as I'm not very familiar with the merge process. — DVRTed (Talk) 01:07, 19 January 2026 (UTC)
- @DVRTed, the specs look about what you'd expect. The only feedback I'd give is that on occaion an editor might wish to propse a merge of two or more pages into a page that doesn't exist as yet. E.g., Merge Goat and Sheep to Goat and Sheep. I wouldn't expect any logic to stop the process, only to confirm with the editor making the proposal that the destination doesn't yet exist.
- A feature you might want to consider adding is notifying any Wikiprojects which are listed in the Wikiproject banners at the top of the source and destination pages. TarnishedPathtalk 02:29, 19 January 2026 (UTC)
- That looks great, thank you so much! I had a slightly different user experience flow in mind, I'm starting to work on it. I'll publish it in a few hours when I'm done FaviFake (talk) 17:00, 19 January 2026 (UTC)
- DVRTed I've made a few changes to the flow at User talk:DVRTed/sandbox/merge-helper-specs, what do you think? I hope my version isn't too complex? FaviFake (talk) 20:41, 19 January 2026 (UTC)
- @FaviFake Thanks! I briefly skimmed through it. Comparatively, it seems simpler than what I had planned. That said, I think a large input field that accepts a raw list of articles is less intuitive than a
source page input field with a + button next to it to add more source pages
. Everything else seems like an improvement. I'll update my specs to try and come up with something that merges (hehehe) both of our ideas—probably not until the weekend. — DVRTed (Talk) 22:11, 19 January 2026 (UTC)- @DVRTed Thanks! Personally, I'm kinda a merge power user, so it would be useful to me to have a blank big input field, but I agree yours is much more user-friendly! (If you had a ton of time to waste, you could even do both and let users toggle between the two states. But don't worry about it!)
I've updated mine with both options and a better visual representation of the UI for the version with a plus button! FaviFake (talk) 22:36, 19 January 2026 (UTC)
- @DVRTed Thanks! Personally, I'm kinda a merge power user, so it would be useful to me to have a blank big input field, but I agree yours is much more user-friendly! (If you had a ton of time to waste, you could even do both and let users toggle between the two states. But don't worry about it!)
- @FaviFake Thanks! I briefly skimmed through it. Comparatively, it seems simpler than what I had planned. That said, I think a large input field that accepts a raw list of articles is less intuitive than a
- I think I'd like to take a stab at it if such a script doesn't exist yet. I'd appreciate if someone could review the rough specs at User:DVRTed/sandbox/merge-helper-specs, as I'm not very familiar with the merge process. — DVRTed (Talk) 01:07, 19 January 2026 (UTC)
Update merge notices after closing a merge proposal
[edit]After a merge discussion has been closed, the WP:MERGE process currently requires a lot of steps:
To close a merge discussion, use the {{Discussion top}} and {{Discussion bottom}} templates. Then:
- If the discussion is closed with consensus to merge, change the {{Merge to}} tag to {{Being merged to}} in the source page, and change {{Merge from}} to {{Being merged from}} in the destination page. They should remained tagged until the merge is performed, so that they are added to the relevant backlog.
- If the discussion is closed with consensus against merging or no consensus, remove all the {{Merge}} templates from the destination and source pages. Optionally, you can also place {{Old merge}} on the corresponding talk pages.
So when I close a merge discussion I have to:
- Use this script to close the discussion
- Open the pages involved.
- On the first page, click edit
- Change "merge to/from" to "being merged to/from"
- In the edit summary, note that the discussion was closed
- Publish
- Repeat steps #3 to #6 on the second page
This is very repetitive and it shouldn't be too hard to automate. I'm thinking there could be a link in Tools that asks you to input the page names, asks if you want to
- remove the merge tags
- (It would also be amazing if it could add a simple
{{Old merge|otherpage = NameOfOtherPage}}to both talk pages when choosing to remove the tags:)
This was nominated for merging with NameOfOtherPage in the past. The result of the discussion was to not merge.
- (It would also be amazing if it could add a simple
- or change the merge tags from Merge to being merged or vice versa, in case it's reopened
and then it finds them and automatically does it.
There are a lot of redirects to {{merge}}, {{merge to}}, {{merge from}} and their "Being merged ..." counterparts, so a simple search for the exact string {{Merge to| would fail often, but I'm sure there's a way to identify them somehow. Is this easy to do? FaviFake (talk) 15:43, 18 January 2026 (UTC)
- Are you aware of User:SD0001/easy-merge? ~Kvng (talk) 17:40, 24 January 2026 (UTC)
- Of course, I use it daily. It can do none of the things I described here. FaviFake (talk) 20:15, 24 January 2026 (UTC)
Notify when block target registered other accounts
[edit]Some vandals have taken to creating one account, then registering multiple accounts from that account, such as in this case. It would be useful in Special:Block for a script to note if the account registered other accounts, recursively, and possibly a button to apply the same block to the rest of the accounts. DatGuyTalkContribs 11:57, 31 January 2026 (UTC)
- Hi @DatGuy,
- I'm not an admin, but could you give me a screenshot of how this form looks? TheTechie[she/they] | talk? 03:56, 9 February 2026 (UTC)
- @TheTechie: you can request admin perms on testwiki, which you'll likely need if you want to develop it regardless. DatGuyTalkContribs 14:52, 9 February 2026 (UTC)
- @DatGuy, sorry for the ping, but I haven't heard back from them yet. Is this usual? TheTechie (she/they) 22:06, 16 March 2026 (UTC)
- @TheTechie
After creating the subpage, come back here and transclude the page below
. You forgot to do that, so I guess nobody noticed your request. — DVRTed (Talk) 22:21, 16 March 2026 (UTC)- I did it for you: testwiki:special:diff/733671. — DVRTed (Talk) 23:30, 16 March 2026 (UTC)
- @DVRTed: oh, okay, thank you! TheTechie (she/they) 03:51, 17 March 2026 (UTC)
- I did it for you: testwiki:special:diff/733671. — DVRTed (Talk) 23:30, 16 March 2026 (UTC)
- @TheTechie
- @DatGuy, sorry for the ping, but I haven't heard back from them yet. Is this usual? TheTechie (she/they) 22:06, 16 March 2026 (UTC)
- @TheTechie: you can request admin perms on testwiki, which you'll likely need if you want to develop it regardless. DatGuyTalkContribs 14:52, 9 February 2026 (UTC)
- This is an update to state that I am working on this as part of TTUT. I am just working on removing some bugs. TheTechie (she/they) 04:41, 19 March 2026 (UTC)
- For future reference, the feature is now finished. See my message on DatGuy's user talk page for more info. TheTechie (she/they) 14:45, 19 March 2026 (UTC)
Script to toggle font of editing area
[edit]I would greatly appreciate if someone could throw together a script that adds a button (ideally to the left-hand navigation bar) that, when clicked, switches the font of the main source-mode editing area (i.e. #wpEextbox1) to a serif font. This is very useful for editing on Wikisource, where it can be annoying to proofread long blocks of monospace text in monospace but equally annoying to edit templates and tables in serif: thus, font-switching would be a great help. Thanks! Cremastra (talk · contribs) 02:05, 4 February 2026 (UTC)
- Hi @Cremastra,
- Do you mind if it only activates serif or allows the user to choose? TheTechie[she/they] | talk? 03:57, 9 February 2026 (UTC)
- Only serif is good. If it's possible to switch back and forth multiple times, that would be good. Cremastra (talk · contribs) 03:59, 9 February 2026 (UTC)
- @Cremastra one more thing. Do you want it to reset on every new edit? That's what I'm currently working on implementing. TheTechie[she/they] | talk? 04:07, 9 February 2026 (UTC)
- Hi @Cremastra,
- I've now implemented what I think you want in my user script TTUT. To use it, install the script, then open up the source editor, then in the page menu, select
TTUT
, thenToggle serif font (source editor)
. TheTechie[she/they] | talk? 04:18, 9 February 2026 (UTC)
- Only serif is good. If it's possible to switch back and forth multiple times, that would be good. Cremastra (talk · contribs) 03:59, 9 February 2026 (UTC)
- Sorry for the back to back pinging @Cremastra, but here's what I found. This behaviour is apparently already in Wikipedia. Go to Preferences, then change
Edit area font style
toSerif font
. Are you sure you still need it in a user script? If not, I might remove it from TTUT as the TTUT version is quite hacky and buggy (especially on the 2017 wikitext editor). TheTechie[she/they] | talk? 16:07, 9 February 2026 (UTC)- No, this is splendid and perfect. Thank you! The key is to be able to switch back and forth in one editing session, which Preferences doesn't allow. Thank you again! Cremastra (talk · contribs) 21:41, 9 February 2026 (UTC)
- @TheTechie FYI— not a huge deal, but the dropdown doesn't activate during page creation: possibly because despite containing "&action=edit", the URL actually ends with "&action=edit&redlink=1". No hurry, but It'd be useful if this could be sorted out.
- Feel free to remove it from TTUT whenever you need to; I can fork the relevant code over to Wikisource. Thanks! Cremastra (talk · contribs) 18:22, 13 February 2026 (UTC)
- @Cremastra, yeah it's quite hacky, you can fork it over if you want. Let me know if you do, then I'll remove it (it seems quite hacky and is utterly broken in the 2017 editor). TheTechie[she/they] | talk? 19:46, 13 February 2026 (UTC)
- No, this is splendid and perfect. Thank you! The key is to be able to switch back and forth in one editing session, which Preferences doesn't allow. Thank you again! Cremastra (talk · contribs) 21:41, 9 February 2026 (UTC)
- Try this: User:Nardog/ToggleEditorFont.js. It adds a button to the WikiEditor toolbar that toggles the editor font between monospace, sans serif, and serif. Nardog (talk) 15:43, 17 February 2026 (UTC)
A script for displaying both subcategories and pages when dropping down categories on category pages?
[edit]I thought it would be a neat idea for somebody to make a script for the {{category tree all|mode=all}} so you could display both subcategories and pages when clicking on the category dropdown buttons on the category pages. Figured it could be helpful for some people (and for me personally since I feel like it would make searching for certain pages in a category a little quicker) . Bradlake14 (talk) 04:06, 1 March 2026 (UTC)
- @Bradlake14: Have you tried Special:CategoryTree? — DVRTed (Talk) 12:58, 28 March 2026 (UTC)
- Yeah, I've been using it for quite a while. Just thought the aforementioned request would've been a neat suggestion that somebody might find useful. Bradlake14 (talk) 18:16, 28 March 2026 (UTC)
- @Bradlake14: Try User:DVRTed/CategoryTree-mode-all.js. After installing, go to a category page (e.g., Category:Leadership) and you should see a button at the top that says
Display {{Category tree all}} (mode=all). Let me know if that works for you. — DVRTed (Talk) 19:10, 28 March 2026 (UTC)- Seems to work pretty well. Thank you very much! Bradlake14 (talk) 19:14, 28 March 2026 (UTC)
- @Bradlake14: Try User:DVRTed/CategoryTree-mode-all.js. After installing, go to a category page (e.g., Category:Leadership) and you should see a button at the top that says
- Yeah, I've been using it for quite a while. Just thought the aforementioned request would've been a neat suggestion that somebody might find useful. Bradlake14 (talk) 18:16, 28 March 2026 (UTC)
A script to make a dummy edit
[edit]A simple script that adds a button in the "Tools" sidebar to make a dummy edit which add[s] a space at the end of the first line in the page's wikitext. Or, if a space already exists, remove[s] it
as explained in Help:Dummy edit § Methods. Dummy edits have various purposes, such as WP:RIA, but it takes many clicks to make one:
- "Edit"
- Find a paragraph (can be hard when there are infoboxes atop the page)
- Add a space
- "Publish changes" (when using VE)
- Click on the edit summary field
- Write the edit summary
- "Publish changes"
With a simple script, this could become:
- Click "Make a dummy edit"
- A popup appears: write the edit summary (the text field is focused automatically)
- Publish
FaviFake (talk) 11:49, 8 March 2026 (UTC)
- @FaviFake Easy to do: add/remove space at the end of the first line in a page's wikitext, but I'm confused by
find a paragraph (can be hard when there are infoboxes atop the page)
. Is (line 1){{Infobox album<<remove/add space here>>not something you want? — DVRTed (Talk) 14:27, 15 March 2026 (UTC)- @DVRTed Sure, yeah! I was just thinking about the thing that will most likely never cause any issues, but that would work too. This problem is easier than I made it out to be, it'd be a vey simple tool :) FaviFake (talk) 16:36, 16 March 2026 (UTC)
- @FaviFake Ah! See if User:DVRTed/dummy-edit.js works for you. (also, are you on discord? I forgot about the merge-helper script for a hot second, and I'd love to bounce some ideas off you and share WIPs.) — DVRTed (Talk) 17:28, 16 March 2026 (UTC)
- @DVRTed Thank you so much! This is perfect! I've added it to the list.(yes, i'm on discord with the same username! hit me up!) FaviFake (talk) 17:44, 16 March 2026 (UTC)
- @FaviFake Ah! See if User:DVRTed/dummy-edit.js works for you. (also, are you on discord? I forgot about the merge-helper script for a hot second, and I'd love to bounce some ideas off you and share WIPs.) — DVRTed (Talk) 17:28, 16 March 2026 (UTC)
- @DVRTed Sure, yeah! I was just thinking about the thing that will most likely never cause any issues, but that would work too. This problem is easier than I made it out to be, it'd be a vey simple tool :) FaviFake (talk) 16:36, 16 March 2026 (UTC)
Identifying old sources
[edit]A user script that gets the content of every reference older than X years on an article and posts it on my talk page. So I was thinking a pseudocode of it could be something like:
1. Create some sort of list variable.
2. Add to the list every piece of text between a <ref> and </ref> tag.
3. Go through each item in the list; remove every ref that has a year for which the current year minus that year is less than 10.
4. Post the remaining list on my talk page.
VidanaliK (talk to me) (contributions) 23:50, 19 March 2026 (UTC)
- @VidanaliK let me know if this works for you User:Dr vulpes/Scripts/old-refs-finder. I made a few changes to your request because I already had the code for parts of this made from another project. Dr vulpes (Talk) 23:44, 3 May 2026 (UTC)
- The output looks like this.
| # | Date added | Origin revision | Reference wikitext |
|---|---|---|---|
| 1 | 2008-03-01 | 195099776 | <ref name="ByrneBiogPage2">{{cite web|first=Spencer|last=Leigh|url=http://findarticles.com/p/articles/mi_qn4158/is_19990820/ai_n14242710/pg_2|archive-url=https://web.archive.org/web/20080611073145/http://findarticles.com/p/articles/mi_qn4158/is_19990820/ai_n14242710/pg_2|url-status=dead|archive-date=11 June 2008|title=Obituary: Johnny Guitar (page 2)|work=[[The Independent]]|date=20 August 1999|access-date=4 June 2011}}</ref> |
| 2 | 2013-05-21 | 556132547 | <ref name=RollingStone100>{{cite magazine|title=16. I Saw Her Standing There |url=https://www.rollingstone.com/music/lists/100-greatest-beatles-songs-20110919/i-saw-her-standing-there-19691231 |magazine=Rolling Stone |access-date=21 May 2013}}</ref> |
| 3 | 2015-08-02 | 674280167 | <ref name="search.findmypast.co.uk">{{cite web|url=http://search.findmypast.co.uk/results/world-records/england-and-wales-births-1837-2006?firstname=alan%20e&lastname=caldwell&eventyear=1938&eventyear_offset=0&eventquarter=1 |title=findmypast.co.uk |publisher=Search.findmypast.co.uk |access-date=2015-11-09}}</ref> |
(Article) Link Diff
[edit]I could use a script that tells me the internal article link additions and removals between revisions of a page. I realize regular diff will show me this but in dense database reports that list articles, it's hard for my old eyes to see which article links have been added/removed. I have tried to crack this nut myself, but I have gotten stuck on accessing the previous revision's text for the sake of comparison. I would like for this script to be accessible from the Tools menu. Thanks for any assistance! Stefen 𝕋ower Huddle • Handiwerk 17:19, 20 March 2026 (UTC)
- @StefenTower So like User:Polygnotus/Scripts/Tower.js? Polygnotus (talk) 17:37, 20 March 2026 (UTC)
- @Polygnotus Thank you for this. I have tested it out, and it works well. While I wouldn't want to take away anything the script currently does, my specific need is to 1) show only article link changes; 2) if I'm on a revision of a page, just show the changes since the previous one. My thought for #1 is to have a setting that sets namespaces for the links I would like to see (alternatively, change the code to show only mainspace links). And for #2, you could test if you're on a revision page, and if so, just do a single compare with the previous one. I have a database report with thousands of revisions and thus it takes a long while to run the script in its current form. Please let me know if you have any questions. Stefen 𝕋ower Huddle • Handiwerk 03:39, 21 March 2026 (UTC)
- On second thought, there's no need to change what you have done as it works in a very useful way I (and perhaps others) can use. I realized I can have what I originally was looking for by having a script that automatically runs only on diff pages to do a short report on article links added and removed: See User:StefenTower/ArticleLinkDiffs.js. Stefen 𝕋ower Huddle • Handiwerk 05:52, 21 March 2026 (UTC)
- @StefenTower Unsure if I get you correctly, and I'm confused by what "dense database reports that list articles" is. It sounds like, in the diff view (example special:diff/1340543697), you want an option that lists all additions and removals of wikilinks? — DVRTed (Talk) 17:45, 20 March 2026 (UTC)
- @DVRTed I mean reports like this. I am looking for a list of additions and removals of article links since the previous revision as it's usually hard to see the link changes in a standard diff. I presume to be making the call from a revision page. Stefen 𝕋ower Huddle • Handiwerk 03:42, 21 March 2026 (UTC)
User script to insert heading links before the heading
[edit]This is more of a help request than a script request.
Here's a draft I have (inserts the "before the heading" container):
var headings = document.querySelectorAll(".mw-heading");
headings.forEach(heading => {
var headinglinks_right = document.createElement("div");
headinglinks_right.className = "headinglinks_right";
headinglinks_right.style = "float: right; margin-left: 5px;";
heading.parentNode.insertBefore(headinglinks_right, heading);
});
I can't figure out how to move links from each separate heading to this container. sapphaline (talk) 22:42, 28 March 2026 (UTC)
- Note that yes, I need to move all links appearing after the
<hN>element; not just "[ edit ]". sapphaline (talk) 22:44, 28 March 2026 (UTC)- @Sapphaline: Do you like jQuery? It's pretty easy to do with .nextAll(); it maintains a static "copy" of all the siblings before, in this case, moving any of them, so the
.appendTo()(internal) loop works A-OK.I should note that Preferences → Gadgets → Appearance →$(".mw-heading").each(function () { var $container = $( '<div class="headinglinks_right" style="float: right; margin-left: 5px;">', ).insertBefore(this); $(this).find("h1, h2, h3, h4, h5, h6").nextAll().appendTo($container); });
Move section [edit] links to the right side of the screen is probably what you're looking for. — DVRTed (Talk) 23:24, 28 March 2026 (UTC)
- TYSM! Exactly what I wanted. "Preferences → Gadgets → Appearance →
Move section [edit] links to the right side of the screen is probably what you're looking for" - I want the links to stay at top when heading's length exceeds 1 line. sapphaline (talk) 08:01, 29 March 2026 (UTC)
- TYSM! Exactly what I wanted. "Preferences → Gadgets → Appearance →
- @Sapphaline: Do you like jQuery? It's pretty easy to do with .nextAll(); it maintains a static "copy" of all the siblings before, in this case, moving any of them, so the
- line 42 ~2026-19963-01 (talk) 11:51, 31 March 2026 (UTC)
Find & Replace script for Braconidae articles
[edit]Hello, per this discussion, would the best course of action be to make a script to replace "Braconoid wasps in the family Braconidae" (with links or not) with "wasps in the family [[Braconidae]]" (as wikitext)? Doing an advanced search for "Braconid wasps in the family Braconidae" returns 100 results, which would be very tedious to change manually.
Of course, if a consensus emerges here that something else (or nothing) should be done, then I will follow that instead. - User:BlueEleephant (talk · contribs) 03:05, 4 April 2026 (UTC)
- @BlueEleephant: WP:AWBREQ is probably better for this one-time task. — DVRTed (Talk) 06:24, 4 April 2026 (UTC)
- Ah, okay; I have now filed a request there, instead. - User:BlueEleephant (talk · contribs) 12:34, 4 April 2026 (UTC)
Select first 50 elements without an attribute
[edit]I have this table:
| rev_id | rev_timestamp | rev_len | rev_parent_id | page_title | page_namespace | username | user_rights | tags |
|---|---|---|---|---|---|---|---|---|
| ru:special:diff/152601299 | 2026-04-06 000205 | 10569 | 0 | Кава з кардамоном (Телесериал UK) | 0 | Agronopolos | None | wikieditor |
| ru:special:diff/152601302 | 2026-04-06 000325 | 108620 | 151009892 | Чемпионат Европы по футболу 2024 | 0 | ~2026-20609-44 | None | mobile edit, mobile web edit, visualeditor |
| ru:special:diff/152601322 | 2026-04-06 000750 | 267 | 0 | Founder3939 | 2 | Founder3939 | None | mobile edit, mobile web edit, visualeditor |
| ... | ||||||||
And I have this draft:
var querydifflinks = document.querySelectorAll(".queryoutput td:nth-of-type(1) a:not([data-visited='true'])");
function openquerydiffs() {
querydifflinks.forEach(querydifflink => {
for (let i = 51; querydifflink.length < i; i++) {
querydifflink.setAttribute("data-visited", "true");
querydifflink.setAttribute("target", "_blank");
querydifflink.click();
}
});
}
var openquerydiffs_button = document.createElement("a");
openquerydiffs_button.href = "javascript:openquerydiffs();";
openquerydiffs_button.innerHTML = "open query diffs";
openquerydiffs_button.role = "button";
var querydiffstable = document.querySelector(".queryoutput");
querydiffstable.parentNode.insertBefore(openquerydiffs_button, querydiffstable);
What I want to do is to open the first 50 links without data-visited="true" attribute, then assign them this attribute. How can I calculate link's position in the querydifflinks NodeList? querydifflink.length doesn't work. sapphaline (talk) 09:28, 7 April 2026 (UTC)
- @Sapphaline: see NodeList/forEach() -- the second parameter gives you the
currentIndex. You also need to move the querySelector insideopenquerydiffs()so it's re-evaluated for subsequent button clicks. Final code with all that:(PS: Chrome requires the site to have "Pop-ups and redirects" permission for this to work. PPS: I formatted this code with Prettier.) — DVRTed (Talk) 15:55, 7 April 2026 (UTC)function openquerydiffs() { var querydifflinks = document.querySelectorAll( ".queryoutput td:nth-of-type(1) a:not([data-visited='true'])", ); querydifflinks.forEach((link, index) => { if (index < 50) { link.setAttribute("data-visited", "true"); link.setAttribute("target", "_blank"); link.click(); } }); } var openquerydiffs_button = document.createElement("a"); openquerydiffs_button.href = "javascript:openquerydiffs();"; openquerydiffs_button.innerHTML = "open query diffs"; openquerydiffs_button.role = "button"; var querydiffstable = document.querySelector(".queryoutput"); querydiffstable.parentNode.insertBefore(openquerydiffs_button, querydiffstable);
- Thanks! sapphaline (talk) 15:57, 7 April 2026 (UTC)
- @Sapphaline As a rule, don't use javascript: protocol references like in:
openquerydiffs_button.href = "javascript:openquerydiffs();";. Simply leave .href empty, and add use addEventListerener to register a click handler. Using javascript as links is a bad pattern because it depends on global scoping. In some execution contexts' it won't even work. —TheDJ (talk • contribs) 13:08, 21 April 2026 (UTC)- I do this because
javascript:hrefs are by far the easiest way to make a button keyboard-navigable. sapphaline (talk) 13:15, 21 April 2026 (UTC)
- I do this because
Automatically open file on commons
[edit]I'd like to have a global script that automatically redirects me to commons every time I open any page in the File: namespace on any wiki. I'd be nice if it could also check if the file actually exists on commons, or have a way to remain on the local wiki, but I'd be ok with a dumb redirect that always sends me to commons. FaviFake (talk) 19:29, 26 April 2026 (UTC)
- @FaviFake: See User:DVRTed/auto-redirect-commons.js. It checks if the current File: page has a "view on commons" button and if it does, it redirects you there. To import this script globally, add this line to meta:Special:MyPage/global.js:
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:DVRTed/auto-redirect-commons.js&action=raw&ctype=text/javascript");. — DVRTed (Talk) 20:30, 26 April 2026 (UTC)- Thank you so much!!! This is exactly what I needed! FaviFake (talk) 14:56, 27 April 2026 (UTC)
- There's also MediaWiki:Gadget-imagelinks.js in Special:Preferences#mw-prefsection-gadgets ("Redirect image links to Commons for files hosted there") Ponor (talk) 15:47, 27 April 2026 (UTC)
Transcluding a page onto a special page?
[edit]I've been trying to get this to work for a little bit, but I can't seem to figure it out. If I wanted to transclude User:EggRoll97/IPv6 Range Sizes onto Special:RangeCalculator, is it possible to do that with a script, basically putting the template itself to the right of the actual calculator and having it on there whenever I go to the page? EggRoll97 (talk) 02:04, 8 July 2026 (UTC)
- @EggRoll97: Sure:
$(() => { const $form = $('#mw-checkuser-cidrform'); fetch('https://en.wikipedia.org/wiki/User:EggRoll97/IPv6_Range_Sizes').then(async response => { const html = await response.text(); const document = new DOMParser().parseFromString(html, 'text/html'); const $content = $(document).find('#mw-content-text'); $form.after($content); // or whatever else }); });
- I'm using
fetch()here because it's shorter, but you can and should use mw:API:Parse instead. NguoiDungKhongDinhDanh 07:14, 8 July 2026 (UTC)- Also note that the form is inserted using JS, so this might need to be tweaked to account for that. NguoiDungKhongDinhDanh 07:16, 8 July 2026 (UTC)
- Thanks! EggRoll97 (talk) 00:49, 9 July 2026 (UTC)
- Also note that the form is inserted using JS, so this might need to be tweaked to account for that. NguoiDungKhongDinhDanh 07:16, 8 July 2026 (UTC)
Converting deprecated author fields in citation templates
[edit]Is there a script that can convert all citation templates on a page from the deprecated author field to the first ... last format? I'm not looking for anything fancy, just split the field up and treat everything before the first comma as the last name, or if there is no comma, treat the last word as the last name. I can refine the script myself to accommodate more details as necessary. Kisseran (talk) 06:06, 9 July 2026 (UTC)
|author=isn't deprecated, and is often the best parameter to use, especially for mononyms. Headbomb {t · c · p · b} 11:50, 9 July 2026 (UTC)- Oh, apologies. I mistakenly assumed that it was, since
|authors=had been deprecated. For my use case, I'm lumping|author=,|authors=, and|editors=together, since they all work poorly with sfn. Kisseran (talk) 12:00, 9 July 2026 (UTC)
- Oh, apologies. I mistakenly assumed that it was, since
- Leaving aside that the parameter isn't deprecated, your heuristic is likely to be wrong in a not-insignificant number of cases. Anomie⚔ 12:42, 9 July 2026 (UTC)
- I recognize this, but for most articles it still seems easier to fix the instances where the heuristic is wrong than doing the change entirely by hand. I only intend to use this for articles where I'm making substantial contributions to, and mostly for references I'm adding. Perhaps I should have asked for a script that operates on a specific selected template, but if the request isn't appropriate here I'll put the idea away. Kisseran (talk) 13:07, 9 July 2026 (UTC)
xfdvote replacement
[edit]The xfdvote tool is broken; reading on the author's page, it's several scripts combined together, with the author suggesting it's outdated/in need of replacement. Can we request a replacement be created? This has been a valuable tool in Articles for Deletion discussions. Oaktree b (talk) 01:51, 10 July 2026 (UTC)
Can we request a replacement be created?
Isn't that what you have just done? FaviFake (talk) 08:45, 10 July 2026 (UTC)- Well yes I suppose. Oaktree b (talk) 12:09, 10 July 2026 (UTC)
- I'm interested in this as it is one of the scripts I have used. TarnishedPathtalk 12:43, 10 July 2026 (UTC)
- @Oaktree b @TarnishedPath, and anyone following this section: User:Thilio/UniversalXfDVote is the replacement script. Rusalkii (talk) 03:08, 10 September 2026 (UTC)
- @Rusalkii cheers. TarnishedPathtalk 09:42, 10 September 2026 (UTC)
- Perfect. Oaktree b (talk) 13:51, 10 September 2026 (UTC)
Hi all, I have a request for a script for filespace admins. One of the most useful is User:Daniel Quinlan/Scripts/Rescaled, which allows for one-click actioning of RD5 (revision deletions of old versions on non-free files), but something we run into a lot is the admin-only backlog for Category:Copy to Wikimedia Commons with hidden file revisions, WP:FFD closes involving relicensing from non-free, and other situations where we spot files that don't need to be RD5'd anymore. A script for undoing these R5 deletions in one click would do the following: Select all check-boxes on a file's version history, go to Special:RevisionDelete for that file's page by clicking the "Change visibility of selected file revisions" button, uncheck "delete file content, and use the log summary along the lines of "moving to Commons" or "relicensed to free". The process of removing non-free templates for transfer will have to remain mostly manual and should be handled in a separate script if at all, so I consider this out of scope.
Benefits of this; FFD would suck a lot less to work through for these non-free relicensing discussions, I would be very happy, and I think I could get more admins to help out. Downsides, uh, it's really niche. Thank you in advance either way! (please ping on reply) Sennecaster (Chat) 20:08, 13 July 2026 (UTC)
- On it! Chaotic Enby (in solidarity · talk · contribs) 13:50, 8 August 2026 (UTC)
- User:Chaotic Enby/Resurrect.js, was surprisingly less straightforward than I expected! Chaotic Enby (in solidarity · talk · contribs) 18:36, 9 August 2026 (UTC)
Check for 404s
[edit]Is it possible to make a script that checks links in the References section and highlights ones that 404? There's User:Scaledish/Scripts/404, but it doesn't seem to work very well (ie. has lots of false positives). Idk if CAPTCHAs create issues Kowal2701 (talk, contribs) 20:45, 20 July 2026 (UTC)
- Maybe there could be a script based on Link dispenser? (courtesy ping Sohom Datta) Kowal2701 (talk, contribs) 18:18, 21 July 2026 (UTC)
- ISBNs are also often hallucinated and could be checked? Kowal2701 (talk, contribs) 18:20, 21 July 2026 (UTC)
Highlighting content written by a particular user
[edit]Hi, so something I've found is that it's a gigantic pain in the ass to mass revert someone's edits (WP:LLMPRV in this case) when there are more edits occurring after them. For AI cleanup especially, the edits are often over a year old. It means you usually have to untangle them from other people's contributions, which can take a few minutes for each one, and there are always billions of them to do. I'm sure it's the same for WP:CCI and WP:BANREVERT. Would it be possible to have a script that highlights words/content added by a certain user, and possibly have some neat feature that makes it easy to restore the content it replaced (if that was the case)? If the latter is too ambitious then just the former would be hugely useful. Thanks, Kowal2701 (talk, contribs) 21:23, 25 July 2026 (UTC)
- mw:Who Wrote That?? Nardog (talk) 19:40, 26 July 2026 (UTC)
- That's brilliant for finding which user added a particular bit, but this is for user-based cleanup (so the other way around, if that makes sense. Like when you have a user and need to cleanup up their edits, more similar to WP:ROLLBACK in that sense) Kowal2701 (talk, contribs) 19:46, 26 July 2026 (UTC)
- No it doesn't make sense to me I'm afraid. You said you were looking for "a script that highlights words/content added by a certain user", WWT does just that. What exactly do you mean by "cleaning up their edits"? If you mean reverting to the version before them while keeping the subsequent good edits intact, DiffUndo might help. Nardog (talk) 19:56, 26 July 2026 (UTC)
- Sorry I was confusing WWT with WikiBlame, you're right. Have just installed WWT, it's brilliant, thank you. I'm definitely being stupid again, but am struggling to get DiffUndo to work. I've gone to the revision before a problematic edit, clicked "Edit source" then "Show changes", but I can't see any Undo button when hovering over a line Kowal2701 (talk, contribs) 20:22, 26 July 2026 (UTC)
- I see, no worries. There should be buttons like this. Nardog (talk) 20:30, 26 July 2026 (UTC)
- That's not showing up for me (I'm on Windows and use Ecosia (Bing), Vector 2022). Should it just be showing up in any ordinary diff? Kowal2701 (talk, contribs) 20:48, 26 July 2026 (UTC)
- Only while editing a page. So if you're editing an old revision, the diff will show the current version on the left, so you click undo on lines you do want to keep (which can be confusing, I know). Nardog (talk) 21:07, 26 July 2026 (UTC)
- I cleaned up my common.js and reinstalled and it's working now! Thanks, this is gonna be so useful Kowal2701 (talk, contribs) 21:13, 26 July 2026 (UTC)
- Only while editing a page. So if you're editing an old revision, the diff will show the current version on the left, so you click undo on lines you do want to keep (which can be confusing, I know). Nardog (talk) 21:07, 26 July 2026 (UTC)
- That's not showing up for me (I'm on Windows and use Ecosia (Bing), Vector 2022). Should it just be showing up in any ordinary diff? Kowal2701 (talk, contribs) 20:48, 26 July 2026 (UTC)
- I see, no worries. There should be buttons like this. Nardog (talk) 20:30, 26 July 2026 (UTC)
- Sorry I was confusing WWT with WikiBlame, you're right. Have just installed WWT, it's brilliant, thank you. I'm definitely being stupid again, but am struggling to get DiffUndo to work. I've gone to the revision before a problematic edit, clicked "Edit source" then "Show changes", but I can't see any Undo button when hovering over a line Kowal2701 (talk, contribs) 20:22, 26 July 2026 (UTC)
- No it doesn't make sense to me I'm afraid. You said you were looking for "a script that highlights words/content added by a certain user", WWT does just that. What exactly do you mean by "cleaning up their edits"? If you mean reverting to the version before them while keeping the subsequent good edits intact, DiffUndo might help. Nardog (talk) 19:56, 26 July 2026 (UTC)
- That's brilliant for finding which user added a particular bit, but this is for user-based cleanup (so the other way around, if that makes sense. Like when you have a user and need to cleanup up their edits, more similar to WP:ROLLBACK in that sense) Kowal2701 (talk, contribs) 19:46, 26 July 2026 (UTC)
Alter watchlist so that hovering Talk page links shows the same pop-up summary as hovering the article
[edit]Please write a script that alters my watchlist so hovering a Talk link gives the same pop-up summary as hovering the article. When I hover over an article title on my watchlist, I get a nice pop-up based on something I opted in to in my preferences, that shows me a pop-up box with some info from the lead, and usually an image. Hovering over a Talk link on the other hand, just shows a tooltip with the same Talk page title I can already see. Can the Talk page links on the watchlist be altered to pop up the same box as the article links do? Mathglot (talk) 01:21, 2 August 2026 (UTC)
- @Mathglot Assuming it's mw:Page Previews you're referring to, it's not currently possible to make it work in namespaces other than the article namespace; instead you can try WP:NAVPOP, but it doesn't look nearly as clean as Page Previews.
Navigation popups work for links to all namespaces, and on all Wikimedia projects. Page Previews is configured to only work with mainspace links, and currently only on Wikipedias.
(mw:Page Previews#Key differences from Navigation Popups) — DVRTed (Talk) 15:47, 5 August 2026 (UTC)- Right, but it would work for just a mainspace link, right? I'm looking for a script that intercepts hovering over a Talk link, gets the mainspace title (e.g., {{ARTICLEPAGENAME}}), and then invokes the existing Page Preview for the article. No preview of the talk page itself is needed.
- Example: Talk:Scheidemann cabinet is on my Watchlist, but I forget why, or what it's even about. Currently, hovering that link displays Talk:Scheidemann cabinet. Instead, I would like to see the same article preview that hovering over Scheidemann cabinet would show me.
- Looking at the generated Html, I see an Html table for that line with a huge amount of stuff, but the important bit appears to be this:
<span class="mw-title"><bdi dir="ltr"><a href="/wiki/Talk:Scheidemann_cabinet" class="mw-changeslist-title" title="Talk:Scheidemann cabinet">Talk:Scheidemann cabinet</a></bdi></span>
- Since there's nothing here about popups, that must be happening through scripts loaded up in the page <head> section someplace, right? So, couldn't we just usurp something in that line to get it to pop up the article preview instead, using the already loaded scripts? Mathglot (talk) 00:19, 6 August 2026 (UTC)
- @Mathglot Ah, that's doable. Page Previews doesn't seem to expose a function or trigger we can call manually, so instead we have to temporarily replace all Talk
hrefs in the watchlist, and restore the original link on click. See User:DVRTed/talk2article.js; it's a hacky workaround but functional. — DVRTed (Talk) 06:01, 6 August 2026 (UTC)- Thanks! I tried that, but not sure I've set it up correctly, as it hasn't changed anything. See the last line in my common.js. Thanks, Mathglot (talk) 09:15, 7 August 2026 (UTC)
- @DVRTed: Hi. It works for me here on enwiki as I have every list item in my watchlist as "li" elements (I'm using zero scripts to manipulate my watchlist). I also tested it on my watchlist on another wiki in which I have many scripts installed, including those modifying the watchlist. Those "li" elements with "mw-changeslist-ns-1" are converted to "table" elements on my other watchlist (probably by one of my scripts). As Mathglot is also using some watchlist/RC-modifying scripts, I think converting Line 7 to
.find(".mw-changeslist-ns-1 .mw-changeslist-title")should be safe as all elements (of any type) withmw-changeslist-ns-1class are list items related to article talk pages. Jeeputer Talk 11:21, 7 August 2026 (UTC)- Thanks!
Done here. — DVRTed (Talk) 12:20, 7 August 2026 (UTC)
- Thanks!
- @Mathglot Ah, that's doable. Page Previews doesn't seem to expose a function or trigger we can call manually, so instead we have to temporarily replace all Talk
Article button at the bottom of talk pages?
[edit]Could I please get an Article button at the bottom of talk pages? The following happens all the time: My watchlist shows an edit to a talk page. I open the talk page, scroll down to read the new comment. Hmmm... I need to check the article. I scroll up, click on the Article button, open it in a new tab and read what is written there. Aha... Back to the talk page, that now, again, shows the top of the page. Scroll down once more to find the comment. If we would have an Article button at the bottom of the talk page, that would save me from scrolling up and then scrolling down again for each time I switch between a talk page and the article. I do that a lot, so I would be very grateful for such a button. I use the Timeless skin, which works the best for me by far. Lova Falk (talk) 07:53, 6 August 2026 (UTC)
- I have the top bar fixed in normal Vector using css (User:Chipmunkdavis/vector.css). Sometimes causes a couple of issues with the menus overlapping with other items, but it helps me more than it doesn't. Similar code may work on Timeless. CMD (talk) 08:12, 6 August 2026 (UTC)
- Thank you for your help! It didn't work, I tried something else, didn't work either, I decided to accept the situation as it is. Lova Falk (talk) 12:05, 6 August 2026 (UTC)
- @Lova Falk: try User:DVRTed/jumpToArticle.js; it adds a button at the bottom of talk pages labeled "Jump to article". — DVRTed (Talk) 12:43, 6 August 2026 (UTC)
- It worked!!!!! Thank you so much!!!! Lova Falk (talk) 16:41, 6 August 2026 (UTC)
- @Lova Falk: try User:DVRTed/jumpToArticle.js; it adds a button at the bottom of talk pages labeled "Jump to article". — DVRTed (Talk) 12:43, 6 August 2026 (UTC)
- Thank you for your help! It didn't work, I tried something else, didn't work either, I decided to accept the situation as it is. Lova Falk (talk) 12:05, 6 August 2026 (UTC)
Lova Falk, this is not quite the same thing, but see templates {{Skip to bottom}} and {{Skip to top}}, which will make your Talk page navigation effortless; no more scrolling. See for example, Talk:Anti-Hungarian sentiment, and click the boxed link top-right 'Skip to bottom'. When you get there, then click the link bottom-right, 'To top of page'. Mathglot (talk) 20:59, 12 August 2026 (UTC)
- Thank you Mathglot, very helpful! Lova Falk (talk) 03:54, 13 August 2026 (UTC)
- Also, don't forget the Home and End buttons on your keyboard typically take you to the top and bottom of a page, respectively ~Kvng (talk) 15:10, 26 August 2026 (UTC)
- Thank you Kvng! I use fn <- and fn -> for that. But the movement is visually stressful for me, and I am so happy with my button. Lova Falk (talk) 16:41, 26 August 2026 (UTC)
Undo/redo buttonz in edit source
[edit]Add support for undo/redo button in the edit toolbar in source. 8rz (talk) 02:58, 11 August 2026 (UTC)
- @8rz: try User:DVRTed/sourceUndoRedo.js. — DVRTed (Talk) 18:20, 16 August 2026 (UTC)
- It works. Thank you very much, @DVRTed 8rz (talk) 19:29, 16 August 2026 (UTC)