Wikipedia:WikiProject User scripts


 * This project is about Wikipedia user scripts. For a general collection, see Scripts. For Greasemonkey user scripts, see Tools/Greasemonkey user scripts. For other tools, see Tools.
 * For basic help with using and installing these scripts, see m:Help:User style.

Some Wikipedians have formed a project to help create, organize and share User scripts. This page and its subpages contain their suggestions. This project is intended to focus and consolidate the efforts of multiple Wikipedians. If you would like to help, please inquire on the talk page and see the to-do list there.

Currently, the focus is on scripts for monobook.js, which is a script that acts as the primary Wikipedia skin.

For more information on WikiProjects, please see WikiProjects and WikiProject best practices.

What is a user script?
A user script is a bit of JavaScript that gets loaded each time you visit a Wikipedia page and that does things for you.

User scripts have a wide variety of uses. Some add popups to links, others make editing easier, others change the way an article is formatted, others simplify common maintenance tasks.

Subpages

 * /Scripts/ - a library of user scripts.
 * /Requests/ - a page for requesting new scripts or changes to existing scripts
 * /Tutorial/ - a tutorial on how to start using or writing user scripts.
 * /Guide/ - another tutorial on writing user scripts.
 * /Techniques/ - a list of Javascript techniques commonly used in scripts.
 * /User-script manager/ - a tool to add scripts from the library to your personal script.

Similar pages

 * Tools - various types of tools: bookmarklets, user scripts, etc.
 * Scripts - mainly scripts to activate wikilinks in various IRC programs, but a few other things, also.
 * WikiProject CSS - a similar project

Participants

 * ABCD✉
 * &#9786;A dam1213 &#9786;  Talk+
 * ais523
 * Alphax &tau;&epsilon;&chi;
 * —Animum ''' | talk ]]
 * Antonrojo
 * Barticus88
 * BMIComp (talk, HOWS MY DRIVING)
 * User:Cameltrader
 * Cel e stianpower háblame
 * Cocoaguy ここがいい contribstalkTodays Pick
 * digital_m e ( t / c )
 * Dvyjones t&middot;c&middot;e
 * grm_wnr Esc
 * GeorgeMoney (talk)
 * User: (talk • contribs)
 * Kr im pe t  04:23, 12 August 2007 (UTC)
 * HappyCamper
 * Ilmari Karonen (talk)
 * JesseW
 * jnothman talk
 * Matthew Yeager
 * Menasim
 * Misza 13 T C
 * Neutralitytalk
 * Omegatron
 * PatricknoddyTALK (reply here) | <sup style="font-variant: small-caps;">HISTORY
 * Pinky49 Talk
 * pile0nadestalk
 * -rayluT
 * Reinistalk
 * Ryan Delaney talk
 * <font face="Copperplate Gothic Bold" color=#1F85FF>Sasquatch <font color=#C0C0C0> <font color=#C0C0C0>
 *  Will  ( <sup style="margin-right: -0.2em">E <sub style="margin-left: -0.2em">@ )  T  (I made some scripts, could make more)
 * S
 * Shruti14
 * Happy Editing by <font color = "darkmagenta">Snowolf <font color = "darkmagenta"> (talk)<font color = "darkmagenta"> CON<font color = "darkmagenta"> COI on  23:42, 24 February 2007 (UTC)
 * Supadawg
 * Superm401 - Talk
 *  Voice -of-  All Talk
 * Where (talk)
 *  Wikidudeman  (talk)
 * -- Sander Säde  18:19, 28 September 2007 (UTC)

Userbox for members
User WikiProject User scripts

Goals

 * 1) Provide a central store of user scripts
 * 2) Make it easy for people to use user scripts
 * 3) Create a plugin system for user scripts

Tasks

 * 1) Create a tutorial/walkthrough of how to set up scripts and how to get started writing your own.
 * can we please get on this task asap! <font color="#FA8605">ALKIVAR &trade;[[Image:Radioactive.svg|18px|]] 19:17, 8 November 2005 (UTC)
 * Unless you know javascript, I think that this will just consist of "Find a nice script somewhere and copy it/follow the instructions for installing it". We don't have any sort of generic framework that a non-programmer can use to install or create scripts as far as I know. Lupin|talk|popups 01:07, 9 November 2005 (UTC)
 * Er, what about /Tutorial? JesseW, the juggling janitor 18:14, 9 November 2005 (UTC)

Script requests
Requests for new user scripts or updates to existing scripts can be made at WikiProject User scripts/Requests. Recently fulfilled requests can be found at WikiProject User scripts/Fulfilled requests. Older fulfilled requests can be found at in the archives at WikiProject User scripts/Fulfilled requests/Archive index.

Contact

 * IRC: irc://irc.freenode.net:6667/#wikipedia-wikiproject-scripts

Tools

 * Mozilla's DOM inspector
 * Mozilla's javascript console
 * Firebug -edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.
 * Colorizer: http://blogs.applibase.net/prasad/downloads/jscolorizer/jscolorizer.html (needs a few tweaks to be perfectly set up for the wiki, though: remove the &gt;pre> tags, put a single space at the beginning of every line. Somebody want to make these minor changes and host it on their webspace?).
 * CHANGES: Thanks for putting up the requirements, I have made the required changes, so now you can get colorized code with/without &lt;pre&gt; tags, you can select each line indentation.
 * Thanks so much for making the changes I requested! It is much better!  If I may, I'd like to request one other addition - a way to replace the br/ tags with real newlines; that way the output won't all end up on one line.  Just replacing them won' work, as closing font tags are put after them.  But if you replace all of them, then replace font newline combinations with newline font - it works.  Thanks again for responding! - Let me know if I should put this somewhere else. (Copied to the linked blog). JesseW, the juggling janitor 23:16, 28 October 2005 (UTC)
 * Javascript shell - Easy way to try things out like a command line. Has tab autocompletion to show you what your options are for each function, etc.
 * Test css styles bookmarklet - Lets you add to your css and see the changes on the page instantly.

Piles of code
Places that we might mine for interesting and/or useful bits of code. Please anotate the following as you review them. This is from the June 23 2005 database dump, listing all the page names with .js in them, excluding the other skins versions of monobook.js.


 * 1) meta:Help:User style - contains a lot of useful bits that we ought to copy into /Scripts/


 * 1) User:Jag123/StubScript.js - valuable - doesn't look like code I've seen before. Should be investigated further. JesseW 23:48, 29 August 2005 (UTC)


 * 1) User:Korath/Spoiler.js - valuable - all of these should be added to /Scripts/
 * Doesn't work; relies on old revisions of Template:Spoiler top and Template:Spoiler bottom, which are themselves barely used. Might be rewriteable into something for the standard Template:Spoiler (and variants) and Template:Endspoiler. &mdash;Cryptic (talk) 15:36, 12 November 2005 (UTC)
 * I've rewritten it, with Ilmari Karonen's help, at User:Cryptic/spoiler.js. &mdash;Cryptic (talk) 22:39, 28 December 2005 (UTC)
 * 1) User:Korath/autovfd.js - valuable - all of these should be added to /Scripts/
 * 2) User:Korath/blockip.js - valuable - all of these should be added to /Scripts/
 * 3) User:Korath/welcome.js - valuable - all of these should be added to /Scripts/


 * 1) User:Pilaf/livepreview.js - valuable - local expanded copy is here, partially commented.
 * 2) User:Poccil/Automation.js - valuable - all of these should be added to /Scripts/
 * 3) User:Poccil/Schooltables.js - valuable - doesn't look like code I've seen before. Should be investigated further. JesseW 23:48, 29 August 2005 (UTC)
 * Is for personal use; it reads a file on his computer. The FSO code is nice to have, though. raylu 05:42, August 31, 2005 (UTC)
 * I wouldn't think we really want ActiveX security risks here. As much as possible, we're looking for cross-browser scripting. jnothman talk 01:26, 7 November 2005 (UTC)


 * 1) User:Tom-/mediawiki.js - contains only the line: document.getElementById("ca-delete").getElementsByTagName("a")[0].accessKey = ""; - which should probably be added to /Techniques/


 * 1) User:Lupin/md5-2.2alpha.js - md5sum function which works with UTF strings
 * 2) *I added this to the libraries, in case someone finds it useful. It may need some examples. Shinobu 03:05, 13 December 2006 (UTC)
 * 3) User:Lupin/popups.js - see
 * 4) User:Lupin/autoedit.js - automatically edit (sed-style) using commands in URLs
 * 5) User:Lupin/fixnew.js - change ip addresses into contribs links (eg used to be useful on Special:Newpages, but now mediawiki does that anyway so it's obselete on that page)
 * 6) User:Lupin/nichalpCustomLinks - on user pages, add toolbox links to kate's tool, user log and block/unblock
 * 7) User:Lupin/recentdiffs.js - display all diffs on one page. A bandwidth hog, but somewhat useful sometimes.
 * 8) User:Lupin/recent2.js - monitor the recent changes rss feed for objectionable content
 * 9) User:Cryptic/smiley.js (documentation) - replace ascii emoticons with images.
 * 10) User:Cryptic/toggleundelete.js - adds an "Invert" button to administrators' undeletion pages.
 * 11) Quarl's pages, with more current(?) versions here. Valuable An astonishingly productive writer of code, which we should examine and include in the script library.
 * 12) User:Misza13/godmode-light.js - One actually working version. Now with rollback from page history.
 * 13) User:Topaz/Wikiscripts - Various scripts, organized by dependencies
 * 14) User:Voice of All/UsefulJS - Tons of script files.
 * 15) User:Cacycle/wikEd.js - wikEd MediaWiki editor extension using a rich-text editing frame. Valuable, extensively commented
 * 16) User:Cacycle/editor.js - Cacycle editor editor extension (no longer actively maintained). Valuable, extensively commented

monobooks.js

 * 1) User:-aka-demia/monobook.js - valuable - Categories at Top function - should be added to /Scripts/


 * 1) User:Alphax/monobook.js - Popups, godmode-lite, add purge tab, add section 0 tab, add generic tab, add generic tab for use as a menu, close AFD, 1-click talk page messages, funky date manipulation stuff (start thread, week old AFD page, live clock (client based)), toolbox link adding, show/hide AFDs, force edit summary, text replacement, make clicking on non-existent talk pages from the content page auto-start a new section, add a history link to the new messages box


 * 1) User:Andrewh/monobook.js - adds "Wikipedia: (Pagename)" to the status bar
 * I have added a lot of extra JS code since this was posted. If you want the status bar/title bar script, just copy and paste the first four or five lines of the file (to the document.title</tt> line), and ignore the rest of the code. Andrew (My talk) 20:05, 20 July 2006 (UTC)


 * 1) User:Angela/monobook.js - bottom tabs and an interesting implementation of toolbox links
 * 2) User:Arwel_Parry/monobook.js - bottom tabs, blocklog tabs
 * 3) User:Astronouth7303/monobook.js - get article name, add edit section


 * 1) User:Aydee/monobook.js - top links (needs checking)


 * 1) User:Bdesham/monobook.js - removal of hotkeys
 * 2) User:BesigedB/monobook.js - add purge tab (another version), some other interesting (but as yet unknown) stuff


 * 1) User:Blankfaze/monobook.js


 * 1) User:BrokenSegue/monobook.js


 * 1) User:Camembert/monobook.js


 * 1) User:Celestianpower/monobook.js - near-spaghetti code which I plan to rewrite for Celestianpower sometime. Alphax &tau;&epsilon;&chi; 03:02, 29 October 2005 (UTC)
 * m:GOUS --Cel es tianpower háblame 12:21, 25 March 2006 (UTC)
 * 1) User:Ceyockey/monobook.js
 * 2) User:Chamaeleon/monobook.js
 * 3) User:Chiacomo/monobook.js
 * 4) User:Chopchopwhitey/monobook.js
 * 5) User:Chrism/monobook.js
 * 6) User:CloudSurfer/monobook.js
 * 7) User:Colin_Hill/monobook.js
 * 8) User:ContiE/monobook.js
 * 9) User:Crispiness/monobook.js
 * 10) User:Cyrius/monobook.js
 * 11) User:DanKeshet/monobook.js
 * 12) User:Danny_B-)/monobook.js
 * 13) User:Davidcannon/Biography/monobook.js
 * 14) User:Davidcannon/monobook.js
 * 15) User:Dbenbenn/monobook.js
 * 16) User:Demiurge/monobook.js
 * 17) User:Dennis_Valeev/monobook.js
 * 18) User:Diberri/monobook.js
 * 19) User:Dori/monobook.js
 * 20) User:Drini/monobook.js
 * 21) User:Dshill/monobook.js
 * 22) User:E=MC^2/monobook.js
 * 23) User:Eloquence/monobook.js
 * 24) User:Evil_Monkey/monobook.js
 * 25) User:Fabiform/monobook.js
 * 26) User:Fangz/monobook.js
 * 27) User:Fito/monobook.js
 * 28) User:Foobaz/monobook.js
 * 29) User:Func/monobook.js -- A lot of the current version is from here (i.e. the sidebar) and currently he hosts a very good version of that.
 * 30) User:Fvw/monobook.js
 * 31) User:Gangleri/monobook.js
 * 32) User:Gebruiker:Dedalus/monobook.js
 * 33) User:Gentgeen/monobook.js
 * 34) User:Geraki/monobook.js
 * 35) User:Gkhan/monobook.js
 * 36) User:Goblin/monobook.js
 * 37) User:Grm_wnr/monobook.js
 * 38) User:Guy_M/monobook.js
 * 39) User:Gwi/monobook.js.
 * 40) User:Gwi/monobook.js
 * 41) User:Hégésippe_Cormier/monobook.js
 * 42) User:Halibutt/monobook.js
 * 43) User:Hemanshu/monobook.js
 * 44) User:Hooloovoo/monobook.js
 * 45) User:Icairns/monobook.js
 * 46) User:IceKarma/monobook.js
 * 47) User:Ilya/monobook.js
 * 48) User:Ilyanep/monobook.js
 * 49) User:Inter/monobook.js
 * 50) User:Ish_ishwar/monobook.js
 * 51) User:Jag123/monobook.js
 * 52) User:JanSlupski/monobook.js
 * 53) User:Jd87/monobook.js
 * 54) User:Jdforrester/monobook.js
 * 55) User:JesseW/monobook.js
 * 56) User:Jiang/monobook.js
 * 57) User:Jimbo_Wales/monobook.js
 * 58) User:Jimregan/monobook.js
 * 59) User:Jjeffs/monobook.js
 * 60) User:Johan_Elisson/monobook.js
 * 61) User:Jrdioko/monobook.js
 * 62) User:Jredmond/monobook.js
 * 63) User:Jsanchezes/monobook.js
 * 64) User:Judvrd/monobook.js
 * 65) User:Kahusi/monobook.js
 * 66) User:Kcar1986/monobook.js
 * 67) User:Kelly_Martin/monobook.js
 * 68) User:Kevin_Saff/monobook.js
 * 69) User:Kmccoy/monobook.js
 * 70) User:Knowledge_Seeker/monobook.js
 * 71) User:Korath/monobook.js
 * 72) User:Korrigan/monobook.js
 * 73) User:Kukkurovaca/monobook.js
 * 74) User:Lan3y/monobook.js
 * 75) User:Luigi30/monobook.js
 * 76) User:Lupin/monobook.js - removeAccessKeys (somewhat redundant), subject nag (ignore own userspace, but don't allow blank summaries or summaries just consisting of automatically generated section titles otherwise), the evaluator, an extremely useful javascript debugging tool
 * 77) User:Lupo/monobook.js
 * 78) User:Lupo_Test/monobook.js
 * 79) User:Ma'ame_Michu/monobook.js
 * 80) User:Mark_Dingemanse/monobook.js
 * 81) User:Markaci/monobook.js
 * 82) User:Marsian/monobook.js
 * 83) User:Matthewmayer/monobook.js - adds an 'unwatch' link to each item on watchlist.
 * 84) User:MattTM/monobook.js
 * 85) User:MattTM/monobook.js
 * 86) User:Maximus_Rex/monobook.js
 * 87) User:Mbimmler/monobook.js
 * 88) User:Memzy/monobook.js
 * 89) User:Menchi/monobook.js
 * 90) User:Metju12/monobook.js
 * 91) User:MikeX/monobook.js
 * 92) User:Mike_Storm/monobook.js
 * 93) User:Mikez/monobook.js
 * 94) User:Mirv/monobook.js
 * 95) User:Mononoke/monobook.js
 * 96) User:Mormegil/monobook.js
 * 97) User:Mr._Strong_Bad/monobook.js
 * 98) User:Msh210/monobook.js
 * 99) User:Mu5ti/monobook.js
 * 100) User:Mulad/monobook.js
 * 101) User:Mzajac/monobook.js
 * 102) User:NSR/monobook.js
 * 103) User:Nadavspi/monobook.js
 * 104) User:Nauseam/monobook.js
 * 105) User:Nommonomanac/monobook.js
 * 106) User:Norm/monobook.js
 * 107) User:Ollinaie//monobook.js
 * 108) User:Ollinaie/monobook.js
 * 109) User:Omegatron/monobook.js - I have a thing to fix dashes (en,em,minus), fix units ("43KHZ" &rarr; "43 kHz"), and add an unwatch link after every article on your watchlist
 * 110) User:Omphaloscope/monobook.js
 * 111) User:Onco_p53/monobook.js
 * 112) User:Oui/monobook.js
 * 113) User:Oven_Fresh/monobook.js
 * 114) User:OwenBlacker/monobook.js
 * 115) User:Palica/monobook.js
 * 116) User:Paul_Stansifer/monobook.js
 * 117) User:Paullisa/monobook.js
 * 118) User:Pcb21/monobook.js
 * 119) User:Phil_Boswell/monobook.js
 * 120) User:PiaCarrot/monobook.js
 * 121) User:Pika_Pikachu/monobook.js
 * 122) User:Pilaf/monobook.js
 * 123) User:Pile0nades/monobook.js
 * 124) User:Pjacobi/monobook.js
 * 125) User:Plop/monobook.js
 * 126) User:Pmcm/monobook.js
 * 127) User:Prattflora/Monobook.js
 * 128) User:Przepla/monobook.js
 * 129) User:R3m0t/Monobook.js
 * 130) User:R3m0t/monobook.js
 * 131) User:RW/monobook.js
 * 132) User:Randy_Johnston/monobook.js
 * 133) User:Rdsmith4/monobook.js
 * 134) User:Redwolf24/monobook.js Block user from their user or user talk page, kate count, popups.
 * 135) User:RexNL/monobook.js
 * 136) User:Rich_Farmbrough/monobook.js
 * 137) User:RoToRa/monobook.js
 * 138) User:Roybb95/monobook.js
 * 139) User:Rparle/monobook.js/purgebutton
 * 140) User:Rparle/monobook.js
 * 141) User:Rrjanbiah/monobook.js
 * 142) User:Sam_Hocevar/monobook.js
 * 143) User:Sanmartin/monobook.js
 * 144) User:Sannse/monobook.js
 * 145) User:Sansculotte/monobook.js
 * 146) User:Saruoh/monobook.js
 * 147) User:Savetheclocktower/monobook.js
 * 148) User:ScudLee/monobook.js
 * 149) User:Seancdaug/monobook.js
 * 150) User:Sebbe/monobook.js
 * 151) User:Sgeo/monobook.js
 * 152) User:Sgeo/monobook.js_(toolbox_links)
 * 153) User:Shanes/monobook.js
 * 154) User:Sheldon_Rampton/monobook.js
 * 155) User:Simonfairfax/monobook.js
 * 156) User:Sj/monobook.js
 * 157) User:Sketchee/monobook.js
 * 158) User:Slea/monobook.js
 * 159) User:SlimVirgin/monobook.js
 * 160) User:Smoddy/monobook.js
 * 161) User:Spangineer/monobook.js
 * 162) User:Stevertigo/monobook.js
 * 163) User:Sundar/monobook.js
 * 164) User:Susvolans/monobook.js
 * 165) User:Sverdrup/monobook.js
 * 166) User:Ta_bu_shi_da_yu/monobook.js
 * 167) User:Tacvek/monobook.js
 * 168) User:Tagishsimon/monobook.js
 * 169) User:Teknic/monobook.js
 * 170) User:The_Computer_Mutt/Monobook.js


 * 1) User:TheoClarke/monobook.js
 * 2) User:Tietew/monobook.js
 * 3) User:Timwi/monobook.js
 * 4) User:Tlogmer/monobook.js
 * 5) User:Tom-/monobook.js - code to remove delete function accesskey...
 * 6) User:TreyHarris/monobook.js - blank, was code to hide and show spoiler boxes(should be looked at)
 * 7) User:Trilobite/monobook.js - Investigate!
 * 8) User:TruBlu/monobook.js - blank, was |older version; contains an interesting bit to move the interlanguage links to the top. Should be investigated.
 * 9) User:Tsca/monobook.js - bottom links
 * 10) User:Unyounyo/monobook.js - links at the bottom
 * 11) User:Urby2004/monobook.js - LivePreview
 * 12) User:Voice of All/monobook.js - LivePreview, wording GML, warning tabs, replace script, history/contribs analysis, edit options, general admin script (see User:Voice of All/UsefulJS).
 * 13) User:Waxpancake/monobook.js - betterhistory, 403 Forbidden
 * 14) User:Wclark/monobook.js - redefines the ta array. Investigate.
 * 15) User:Olliminatore/monobook.js - optimized Godmode-lite with IE support
 * 16) User:Whitehorse1/monobook.js - blank, was a link to http://gladstone.uoregon.edu/~chill1/betterhistory <- Should be investigated. Now 403 Forbiden
 * 17) User:Xaosflux/monobook.js combination of many monobooks.
 * 18) User:Yelhsa/monobook.js - LivePreview, only.
 * 19) User:Zeimusu/monobook.js - Lupin's Popups, nosource(adds a nosource tag to an image; should be added to /Scripts), /Scripts/addpurge, /Scripts/replace, uses morelinks function to load the above, LivePreview, KateLink(adds a link to Kate's Editcounter to every page; should be added to /Scripts)
 * 20) User:ZeroOne/monobook.js - LivePreview, only.
 * 21) User:Zocky/monobook.js - links to various interesting things(listed above).
 * 22) *User:Zocky/PicturePopups.js - "Picture Popups for Wikipedia" - I've been using this for a few weeks now, and now I don't think I could live without it. This is definitely worth a try. <span style="font-variant: small-caps; font-family: Palatino Linotype,sans-serif;"> ~ Mr Inky &#183; (T @ C) 22:17, 8 June 2006 (UTC)

standards.js

 * 1) User:Lupin/standard.js

ar:ويكيبيديا:غلاف de:Wikipedia:Skin fr:Projet:JavaScript no:Wikipedia:Underprosjekter/Brukerscript ru:Википедия:Проект:Персональные скрипты th:วิกิพีเดีย:สคริปต์ผู้ใช้ uk:Вікіпедія:Персональні скрипти