Wikipedia talk:User scripts

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Wikipedia Help Project (Rated NA-class, Low-importance)
WikiProject iconThis page is within the scope of the Wikipedia Help Project, a collaborative effort to improve Wikipedia's help documentation for readers and contributors. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks. To browse help related resources see the Help Menu or Help Directory. Or ask for help on your talk page and a volunteer will visit you there.
 NA  This page does not require a rating on the project's quality scale.
 Low  This page has been rated as Low-importance on the project's importance scale.
 
WikiProject JavaScript (Rated NA-class)
This page is within the scope of WikiProject JavaScript, a collaborative effort to improve the coverage of articles related to JavaScript, and to the development of user scripts for use on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 NA  This page does not require a rating on the quality scale.
 

Should we recommend script-installer?[edit]

Right now all the installation instructions use the manual method. script-installer is pretty simple, though... maybe we should just point people towards that? Enterprisey (talk!) 06:42, 28 September 2021 (UTC)[reply]

Yes. – SD0001 (talk) 11:32, 28 September 2021 (UTC)[reply]
I've thought about removing the installation instructions from the list altogether. As much as I do prefer the new layout, the instructions stick out like a sore thumb (as did they in the old layout). While we're at it, I wish script-installer didn't rely on IDs (see User talk:Enterprisey/script-installer#id vs data-). Nardog (talk) 12:16, 28 September 2021 (UTC)[reply]
Yes those "How to install" links are atrocious. It's better to generalize the installation instructions, rather than include it for every script. – SD0001 (talk) 15:46, 28 September 2021 (UTC)[reply]
Absolutely. There's no reason for people to be mucking about editing js files by hand. The more standardized and automated you can make this, the better. -- RoySmith (talk) 16:04, 28 September 2021 (UTC)[reply]
@Enterprisey @Nardog @RoySmith @SD0001 I think script installer can been run from the documentation page with a link like https://en.wikipedia.org/wiki/Wikipedia_talk:User_scripts.js?withJS=MediaWiki:Gadget-script-installer.js[1], which doesn't require script installer to be installed. ― Qwerfjkltalk 18:33, 28 September 2021 (UTC)[reply]
Very true; I think recommending that people actually install script-installer would still be helpful, because of course it allows them to easily uninstall and otherwise manage the scripts. Enterprisey (talk!) 07:24, 29 September 2021 (UTC)[reply]
@Enterprisey: Using some styling Ed6767 made, I created {{Script install button}}. ― Qwerfjkltalk 11:30, 11 December 2021 (UTC)[reply]
@Qwerfjkl, cool. It's very red, though... I always thought of installing scripts as more of a blue or green action, y'know? Enterprisey (talk!) 07:20, 12 December 2021 (UTC)[reply]
@Enterprisey: I just moved the styling to Template:TemplateStyles sandbox/script-installer button.css. Feel free to edit either the styling or the template as much as you want, I don't mind. ― Qwerfjkltalk 13:04, 12 December 2021 (UTC)[reply]
Enterprisey, {{Script installer link}}. Also, if you can add a display:none class to script-installer a link like that could be added to {{Infobox Wikipedia user script}} and subsequently hidden if script-installer is enabled. — Alexis Jazz (talk or ping me) 13:11, 12 December 2021 (UTC)[reply]

 Done. Nardog (talk) 00:47, 29 September 2021 (UTC)[reply]

References

  1. ^ The actual link is https://en.wikipedia.org/wiki/{{FULLPAGENAMEE}}.js?withJS=MediaWiki:Gadget-script-installer.js

"Same as the above" style descriptions are not ideal[edit]

There are a number of descriptions written with some variation of "same as the above" / "see above" / "like the above" which presumes that the linear list organization of the current page is static (or at least consistently ordered) and that records will not be copied individually to other locations. The introduction of the toolinfo.json scraper for this data breaks that assumption. I would like to suggest that folks update their descriptions to be somehow less dependent on reading order. Each case will of course be slightly different, but one typical solution could be to replace the "above" mentions in descriptions with the names of the scripts being extended or adapted to new use cases. --BDavis (WMF) (talk) 17:36, 8 November 2021 (UTC)[reply]

@BDavis (WMF): Started to do this with Special:Diff/1059750942 ― Qwerfjkltalk 11:25, 11 December 2021 (UTC)[reply]

nocreate-missing[edit]

Hi, I keep on getting this error when trying to submit an edit (from this script). What does this error mean? ― Qwerfjkltalk 10:55, 11 December 2021 (UTC)[reply]

Got a screenshot, or steps to reproduce? –Novem Linguae (talk) 11:16, 11 December 2021 (UTC)[reply]
@Novem Linguae: To reproduce: install the script, go to Wikipedia:Database reports/Unused templates, click delete (note that this will tag the page for deletion, it's just the user notification edit that fails). I can disable the editing if you want to test this. ― Qwerfjkltalk 11:25, 11 December 2021 (UTC)[reply]
Thanks. Where's the delete link? –Novem Linguae (talk) 11:30, 11 December 2021 (UTC)[reply]
@Novem Linguae: Oops. I meant Wikipedia:Database reports/Empty categories. ― Qwerfjkltalk 11:32, 11 December 2021 (UTC)[reply]
Looks like window.unusedCategoriesPageCreator is undefined. So at line 179, when you try to do new mw.Api().edit('User_talk:'+window.unusedCategoriesPageCreator, function() {, it sends a page title that doesn't exist. So the API responds with 'nocreate-missing' => array('code' => 'missingtitle', 'info' => "The article you tried to edit doesn't exist"). –Novem Linguae (talk) 11:51, 11 December 2021 (UTC)[reply]
Thanks, I changed the variable to a local variable but forgot to change that. Fixed now. ― Qwerfjkltalk 12:31, 11 December 2021 (UTC)[reply]
@Novem Linguae: Do you know how to check if a page exists? ― Qwerfjkltalk 15:46, 27 December 2021 (UTC)[reply]
@Qwerfjkl, an API query for prop=revisions should do the trick. Something like (untested, let me know if you need me to debug it):
async function pageExists(title) {
	let api = new mw.Api();
	let response = await api.get( {
		"action": "query",
		"format": "json",
		"prop": "revisions",
		"titles": title
	} );
	return Object.entries(response.query.pages);
}
Novem Linguae (talk) 16:10, 27 December 2021 (UTC)[reply]
You don't need revisions, just response.query.pages[n] will have missing if missing (and also known if it's a file on Commons or a user page on Meta that exists). Nardog (talk) 16:28, 27 December 2021 (UTC)[reply]

User script working intermittently[edit]

Hello. One of my user scripts, User:Novem Linguae/Scripts/NotSoFast.js, is only working intermittently. What it is supposed to do is highlight times at Special:NewPagesFeed red or yellow if they were published within the last hour. I suspect a race condition. The algorithm I am using is 1) to fire it onready $(function() {, and then 2) fire it again when $('body').on('DOMNodeInserted', '.mwe-pt-list-item', function() {. Any ideas how to fix? Thanks. –Novem Linguae (talk) 05:16, 8 March 2022 (UTC)[reply]