Go to file
Siddharth VP 72cbb64069 Add support for content models in definitions
Adds a contentModels option to gadget definitions to restrict gadgets to
run in pages of the given content models only.

Use-cases include gadgets for tabular data[1] (for Tabular
.JsonConfig model), for editing map data[2] (for Map.JsonConfig model),
and for showing links in code pages[3] (restricted to javascript, css,
json, and scribunto models), as well as common gadgets like ProveIt[4]
which can be restricted to wikitext model.

[1]: https://commons.wikimedia.org/wiki/MediaWiki:Gadget-TabularImportExport.js
[2]: https://fr.wikipedia.org/wiki/MediaWiki:Gadget-KartoEditor.js
[3]: https://en.wiktionary.org/wiki/MediaWiki:Gadget-CodeLinks.js
[4]: https://commons.wikimedia.org/wiki/Help:Gadget-ProveIt

Bug: T204201
Bug: T63007
Change-Id: I7dcfc21d674ead8d710e7f77d13bf18bcad15079
2023-09-21 22:27:22 +05:30
.phan Use HookHandlers for CodeEditor hook 2023-08-16 05:30:40 +00:00
i18n Add support for content models in definitions 2023-09-21 22:27:22 +05:30
includes Add support for content models in definitions 2023-09-21 22:27:22 +05:30
tests/phpunit Add support for content models in definitions 2023-09-21 22:27:22 +05:30
.eslintrc.json build: Update linters 2023-07-01 14:26:21 +01:00
.gitignore Fix typos, update gitignore with OS tempfiles 2020-03-11 21:24:22 +05:30
.gitreview Whoops, track not trace 2016-10-24 17:02:35 -07:00
.phpcs.xml Add missing @var and improve documentation 2020-12-18 00:21:49 +01:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.3.0 2018-08-19 12:48:57 +00:00
composer.json build: Updating dependencies 2023-04-29 04:17:41 +00:00
COPYING Add COPYING 2014-01-16 02:31:28 +00:00
extension.json build: Update MediaWiki requirement to 1.41 2023-08-19 13:19:53 +08:00
Gadgets.alias.php Translate Gadget aliases and namespaces into Uzbek (uz) 2023-05-17 12:21:47 +02:00
Gadgets.namespaces.php Add Sicilian namespace translations 2023-05-26 14:01:57 +02:00
Gruntfile.js build: Update linters 2023-07-01 14:26:21 +01:00
package-lock.json build: Update linters 2023-07-01 14:26:21 +01:00
package.json build: Update linters 2023-07-01 14:26:21 +01:00
README.md Merge "Use wfLoadExtension in README.md" 2016-12-23 21:46:44 +00:00

Gadgets

The Gadgets extension provides a way for users to pick JavaScript or CSS based "gadgets" that other wiki users provide.

See https://www.mediawiki.org/wiki/Extension:Gadgets for more documentation.

The Gadgets extension was originally written by Daniel Kinzler in 2007 and is released under the GNU General Public Licence (GPL).

Prerequisites

This version of Gadgets requires MediaWiki 1.27 or later. To get a version compatible with an earlier MediaWiki release, visit ExtensionDistributor/Gadgets.

Installing

Copy the Gadgets directory into the extensions folder of your MediaWiki installation. Then add the following lines to your LocalSettings.php file (near the end):

wfLoadExtension( 'Gadgets' );

Usage

See https://www.mediawiki.org/wiki/Extension:Gadgets#Usage

Caveats

  • Gadgets do not apply to Special:Preferences, Special:UserLogin and Special:ResetPass so users can always disable any broken gadgets they may have enabled, and malicious gadgets will be unable to steal passwords.

Configuration

  • $wgGadgetsRepoClass: configures which GadgetRepo implementation will be used to source gadgets from. Currently, "MediaWikiGadgetsDefinitionRepo" is the recommended setting and default. The "GadgetDefinitionNamespaceRepo" is not ready for production usage yet.
  • $wgSpecialGadgetUsageActiveUsers: configures whether or not to show active user stats on Special:GadgetUsage. True by default.