mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets
synced 2024-11-27 16:50:00 +00:00
9c5b7cef9e
For each item, either display human-readable and translated text, or display a technical non-translatable identifier as `<code>`, with optional localised text in the title attribute. * Re-format "rights" as a sentence instead of a bullet list. It was the only one using a bullet list, which made it feel a bit long. * Re-format "actions" as `<code>` since they are not localised. * Re-format "contentModels" as `<code>`, and add the localised display name in a title attribute, same as we do with "rights" already. ContentHandler::getLocalizedName() is also used already on Special:ChangeContentModel. * Fix "contentModels" to set `needLineBreakAfter = true`, otherwise if a gadget also sets "supportsUrlLoad", then that sentence is appended to the previous line. Update phrasing and sorting to be consistent everywhere, and adopt native PHP types where possible. In most cases, I made things alphabetical, with the exception of Special:Gadgets user interface output, and Gadget class methods, which both follow the order of most recently added feature last (rights, skins, actions, namespaces, contentmodels, categories). Highlights: * Fix namespace IDs type. These can be strings when they are parsed from the gadget definition text, not always integers. * Add explicit default for 'category'. In theory not needed because MediaWikiGadgetsDefinitionRepo has a `$section = '';` default, and MediaWikiGadgetsJsonRepo uses GadgetDefinitionContentHandler where `category: ''` is part of both the initial page content, as well as merged via getDefaultMetadata. This default benefits simpler test cases, and static analysis, since the Gadget class constructor does not (yet) require it. Without this, getCategory() could TypeError due to returning null. Bug: T63007 Change-Id: I3b2c72a6424d520431d03761d23a5a222518ce3d |
||
---|---|---|
.phan | ||
i18n | ||
includes | ||
tests/phpunit | ||
.eslintrc.json | ||
.gitignore | ||
.gitreview | ||
.phpcs.xml | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
COPYING | ||
extension.json | ||
Gadgets.alias.php | ||
Gruntfile.js | ||
package-lock.json | ||
package.json | ||
README.md |
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
$wgGadgetsRepo
: configures which GadgetRepo implementation will be used to source gadgets from. Currently, "definition" mode is the recommended setting and default. The "json" mode is not ready for production usage yet.$wgSpecialGadgetUsageActiveUsers
: configures whether or not to show active user stats on Special:GadgetUsage. True by default.