Wikipedia:User scripts

Summary

User scripts are programs written in JavaScript to facilitate the editing of Wikipedia. User scripts enable user accounts to do things they otherwise couldn't. Many user scripts are available, ready for you to install. Also, you can write a new user script, either by modifying an existing script or by starting from scratch.

WikiProject JavaScript is a collaboration of editors to improve Wikipedia's JavaScript coverage, write user scripts, and maintain user script-related pages (like the one you are reading right now). If you would like to join, sign up here.

A word about security edit

User scripts have unlimited access to your account by their very nature – unlike OAuth/bot password based applications such as Huggle, where you can control access levels, the script runs in your browser. Anything you can do on Wikipedia, it can do. As such, and this is especially pertinent to users with advanced permissions, make sure that you trust the user who wrote the script, as you will be held responsible for any actions it takes on your behalf. If you are "importing" a script (instead of copying the code itself) be warned that the user you are importing from could alter their script at any time. Only import from users you trust.

List of user scripts edit

If you come across or write a user script, please add it to Wikipedia:User scripts/List.

Don't see what you need? You can make a request for a new user script at Wikipedia:User scripts/Requests.

Using scripts: Frequently asked questions edit

Where can I find user scripts? edit

Try these pages:

  • Wikipedia:User scripts/List – main script list
  • Category:Wikipedia scripts – the category page

How do you install user scripts? edit

Automatic installation edit

  1. Check the checkbox at Preferences → Gadgets → Advanced →   Install scripts without having to manually edit JavaScript files (documentation) and click Save.
  2. Visit Wikipedia:User scripts/List.
  3. Click "Install" after each script name to install the script. Some scripts may require additional steps, so be sure to visit the documentation if any.

Manual installation edit

  1. First, make sure you are registered and logged in. Only logged-in users can install user scripts.
  2. Click here to edit your common.js file.
  3. Add the following line: {{subst:Lusc|script_path}} – replace "script_path" with the full name of the .js page that opens when a script's "(source)" link is clicked. The Load user script (Lusc) template will add the necessary mw.loader.load line along with a backlink.
    • For example, to install the Sharebox script, add the following line: {{subst:Lusc|User:TheDJ/sharebox.js}}
  4. Save the page and bypass your cache to make sure the changes take effect.

Remote scripts edit

  1. First, make sure you are registered and logged in. Only logged-in users can install scripts.
  2. Edit your common.js file. Alternatively, you may use your skin.js to work only your current skin.
  3. Add the following line: mw.loader.load( '//en.wikipedia.org/wiki/script_path?action=raw&ctype=text/javascript' );
    — where "script_path" is the full name of the .js page that opens when a script's "(source)" link is clicked.
    • For example, to install the NoEditSummary script, add the following line:
      mw.loader.load( '//en.wikipedia.org/wiki/User:GhostInTheMachine/NoEditSummary.js?action=raw&ctype=text/javascript' );
  4. Save the page and bypass your cache to make sure the changes take effect.

How do you add new scripts to the scripts list? edit

Use {{user script table row}}. Include at least the code page path and a short description. For example:

{{user script table row
|name=My script
|code=User:Me/MyJSpage.js
|doc=User:Me/MyJSdocumentationPage
|desc=This script does something useful.
}}
  • Name defaults to the code page's name, without its path or ".js".
  • If a documentation page exists matching your .js page name, it will be linked automatically, without the need for a doc parameter.

Writing user scripts edit

Instructions for writing your own user scripts are included in Wikipedia:User scripts/Guide.

Additional script-writing resources are presented below.

Snippets edit

The following code snippets still exist under the now defunct WikiProject User scripts. Many are still in use by live scripts, and they may provide insights for current script developers.

Snippets

This list is transcluded from Wikipedia:User scripts/Snippets.

  • Wikipedia:WikiProject User scripts/preferences
  • Wikipedia:WikiProject User scripts/Scripts cleanup/Non-working
  • Wikipedia:WikiProject User scripts/Scripts/Add edit section 0
  • Wikipedia:WikiProject User scripts/Scripts/Add LI link
  • Wikipedia:WikiProject User scripts/Scripts/Add LI menu
  • Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css
  • Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs
  • Wikipedia:WikiProject User scripts/Scripts/Add tab
  • Wikipedia:WikiProject User scripts/Scripts/Add toolbox link
  • Wikipedia:WikiProject User scripts/Scripts/addLink
  • Wikipedia:WikiProject User scripts/Scripts/addOnloadFunction.js
  • Wikipedia:WikiProject User scripts/Scripts/All diffs above here
  • Wikipedia:WikiProject User scripts/Scripts/All diffs above here/doc
  • Wikipedia:WikiProject User scripts/Scripts/Autocopyvio.js
  • Wikipedia:WikiProject User scripts/Scripts/Autolink
  • Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited
  • Wikipedia:WikiProject User scripts/Scripts/CleanupTab.js
  • Wikipedia:WikiProject User scripts/Scripts/CloseAFD
  • Wikipedia:WikiProject User scripts/Scripts/CloseAFD.js
  • Wikipedia:WikiProject User scripts/Scripts/CloseRFA.js
  • Wikipedia:WikiProject User scripts/Scripts/Compact Navigation
  • Wikipedia:WikiProject User scripts/Scripts/Compare link
  • Wikipedia:WikiProject User scripts/Scripts/Dashboard
  • Wikipedia:WikiProject User scripts/Scripts/defaultsort
  • Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom
  • Wikipedia:WikiProject User scripts/Scripts/Easy db
  • Wikipedia:WikiProject User scripts/Scripts/Edit Top
  • Wikipedia:WikiProject User scripts/Scripts/Edit Top.js
  • Wikipedia:WikiProject User scripts/Scripts/External editor
  • Wikipedia:WikiProject User scripts/Scripts/Fix diff width
  • Wikipedia:WikiProject User scripts/Scripts/Force edit summary
  • Wikipedia:WikiProject User scripts/Scripts/Force edit summary alternative
  • Wikipedia:WikiProject User scripts/Scripts/Formatter
  • Wikipedia:WikiProject User scripts/Scripts/Formatter/Auto Edit Summary
  • Wikipedia:WikiProject User scripts/Scripts/Formatter/Auto Edit Summary/doc
  • Wikipedia:WikiProject User scripts/Scripts/Formatter/doc
  • Wikipedia:WikiProject User scripts/Scripts/Function template
  • Wikipedia:WikiProject User scripts/Scripts/Get Page Name
  • Wikipedia:WikiProject User scripts/Scripts/Get tidy title
  • Wikipedia:WikiProject User scripts/Scripts/Get user name
  • Wikipedia:WikiProject User scripts/Scripts/Google link
  • Wikipedia:WikiProject User scripts/Scripts/Google search
  • Wikipedia:WikiProject User scripts/Scripts/hideOwn.js
  • Wikipedia:WikiProject User scripts/Scripts/HistoryCount
  • Wikipedia:WikiProject User scripts/Scripts/Inclusion
  • Wikipedia:WikiProject User scripts/Scripts/Language Converter
  • Wikipedia:WikiProject User scripts/Scripts/Language Converter/Dictionary
  • Wikipedia:WikiProject User scripts/Scripts/Language Converter/Dictionary/en-GB
  • Wikipedia:WikiProject User scripts/Scripts/Language Converter/Dictionary/en-US
  • Wikipedia:WikiProject User scripts/Scripts/livepreview.js
  • Wikipedia:WikiProject User scripts/Scripts/Logs link
  • Wikipedia:WikiProject User scripts/Scripts/Module template
  • Wikipedia:WikiProject User scripts/Scripts/MotD closure script
  • Wikipedia:WikiProject User scripts/Scripts/Multi-NS search
  • Wikipedia:WikiProject User scripts/Scripts/New message history
  • Wikipedia:WikiProject User scripts/Scripts/Obsolete
  • Wikipedia:WikiProject User scripts/Scripts/POV tool
  • Wikipedia:WikiProject User scripts/Scripts/qSig
  • Wikipedia:WikiProject User scripts/Scripts/Quick cleanup
  • Wikipedia:WikiProject User scripts/Scripts/Quick orphan
  • Wikipedia:WikiProject User scripts/Scripts/Quick wikify
  • Wikipedia:WikiProject User scripts/Scripts/Rationale
  • Wikipedia:WikiProject User scripts/Scripts/RBL check
  • Wikipedia:WikiProject User scripts/Scripts/Re-order menus
  • Wikipedia:WikiProject User scripts/Scripts/removeAccessKeys
  • Wikipedia:WikiProject User scripts/Scripts/Replace
  • Wikipedia:WikiProject User scripts/Scripts/Revert tools
  • Wikipedia:WikiProject User scripts/Scripts/Search links
  • Wikipedia:WikiProject User scripts/Scripts/Set Book Source
  • Wikipedia:WikiProject User scripts/Scripts/Show last diff
  • Wikipedia:WikiProject User scripts/Scripts/Show last secure diff
  • Wikipedia:WikiProject User scripts/Scripts/Show recent comments
  • Wikipedia:WikiProject User scripts/Scripts/Sigdash
  • Wikipedia:WikiProject User scripts/Scripts/Single column diffs
  • Wikipedia:WikiProject User scripts/Scripts/Six tabs
  • Wikipedia:WikiProject User scripts/Scripts/Sort Image Links
  • Wikipedia:WikiProject User scripts/Scripts/Syntax highlighter
  • Wikipedia:WikiProject User scripts/Scripts/Tag unverified image
  • Wikipedia:WikiProject User scripts/Scripts/Talk page section tabs
  • Wikipedia:WikiProject User scripts/Scripts/test-enhanced
  • Wikipedia:WikiProject User scripts/Scripts/test-n.js
  • Wikipedia:WikiProject User scripts/Scripts/Time
  • Wikipedia:WikiProject User scripts/Scripts/TimeTraveller
  • Wikipedia:WikiProject User scripts/Scripts/TimeTraveller.js
  • Wikipedia:WikiProject User scripts/Scripts/TwoColumns
  • Wikipedia:WikiProject User scripts/Scripts/TwoColumns.js
  • Wikipedia:WikiProject User scripts/Scripts/Unreferenced tool
  • Wikipedia:WikiProject User scripts/Scripts/Unwatch
  • Wikipedia:WikiProject User scripts/Scripts/Upload Preview
  • Wikipedia:WikiProject User scripts/Scripts/User Contribs Tabs
  • Wikipedia:WikiProject User scripts/Scripts/User tabs
  • Wikipedia:WikiProject User scripts/Scripts/VBS/Savewatchlisttofile
  • Wikipedia:WikiProject User scripts/Scripts/warn.js
  • Wikipedia:WikiProject User scripts/Scripts/Watchfilter
  • Wikipedia:WikiProject User scripts/Scripts/Watchlist since
  • Wikipedia:WikiProject User scripts/Scripts/Welcome user
  • Wikipedia:WikiProject User scripts/Scripts/WikiBreak Enforcer
  • Wikipedia:WikiProject User scripts/Scripts/WikiBreak Enforcer/script

Userbox edit

Want to advertise your user script development skills?

Markup Renders as
{{user script developer}}
 This user develops
user scripts;
{{user script developer2}}
 This user develops user scripts.
{{user scripts created}}
 This user has created a user script;
{{user scripts created|99}}
 This user has created 99 user scripts;

See also edit

  • Information on user scripts from Wikipedia: The Missing Manual
  • The most imported user scripts