2 "$schema": "http://json-schema.org/schema#",
3 "description": "MediaWiki extension.json schema",
8 "description": "The extension's canonical name."
12 "description": "A list of filenames that should be loaded, in addition to this one"
16 "description": "The extension's type, as an index to $wgExtensionCredits.",
36 "description": "Extension's authors.",
40 "additionalItems": false
47 "description": "The version of this release of the extension."
51 "description": "URL to the homepage for the extension.",
56 "description": "Raw description of the extension."
60 "description": "Message key for a i18n message describing the extension."
64 "description": "Short identifier for the license under which the extension is released.",
90 "BSD-2-Clause-FreeBSD",
91 "BSD-2-Clause-NetBSD",
103 "CNRI-Python-GPL-Compatible",
162 "GPL-2.0-with-autoconf-exception",
163 "GPL-2.0-with-bison-exception",
164 "GPL-2.0-with-classpath-exception",
165 "GPL-2.0-with-font-exception",
166 "GPL-2.0-with-GCC-exception",
169 "GPL-3.0-with-autoconf-exception",
170 "GPL-3.0-with-GCC-exception",
203 "MPL-2.0-no-copyleft-exception",
283 "ResourceLoaderModules": {
285 "description": "ResourceLoader modules to register",
286 "additionalProperties": false,
287 "patternProperties": {
288 "^[a-zA-Z0-9\\.]+$": {
290 "description": "A single ResourceLoader module descriptor",
294 "description": "Base path to prepend to all local paths in $options. Defaults to $IP"
298 "description": "Base path to prepend to all remote paths in $options. Defaults to $wgScriptPath"
302 "description": "Equivalent of remoteBasePath, but relative to $wgExtensionAssetsPath"
306 "description": "Scripts to always include (array of file paths)",
313 "description": "Scripts to include in specific language contexts (mapping of language code to file path(s))",
314 "patternProperties": {
315 "^[a-zA-Z0-9-]{2,}$": {
328 "description": "Scripts to include in specific skin contexts (mapping of skin name to script(s)",
329 "patternProperties": {
343 "description": "Scripts to include in debug contexts",
350 "description": "Scripts to include in the startup module",
357 "description": "Modules which must be loaded before this module",
364 "description": "Styles to always load",
371 "description": "Styles to include in specific skin contexts (mapping of skin name to style(s))",
372 "patternProperties": {
386 "description": "Messages to always load",
393 "description": "Group which this module should be loaded together with"
397 "description": "Position on the page to load this module at",
407 "ResourceLoaderSources": {
409 "description": "ResourceLoader sources to register"
411 "ResourceLoaderLESSVars": {
413 "description": "ResourceLoader LESS variables"
415 "ResourceLoaderLESSFunctions": {
417 "description": "ResourceLoader LESS functions"
419 "ResourceLoaderLESSImportPaths": {
421 "description": "ResourceLoader import paths"
425 "description": "Method to add extra namespaces",
455 "defaultcontentmodel": {
460 "TrackingCategories": {
462 "description": "Tracking category message keys"
464 "DefaultUserOptions": {
466 "description": "Default values of user options"
470 "description": "Preferences users cannot set"
472 "GroupPermissions": {
474 "description": "Default permissions to give to user groups"
476 "RevokePermissions": {
478 "description": "Default permissions to revoke from user groups"
482 "description": "Implicit groups"
486 "description": "Groups a user can add to themselves"
488 "GroupsRemoveFromSelf": {
490 "description": "Groups a user can remove from themselves"
494 "description": "Groups a user can add to users"
498 "description": "Groups a user can remove from users"
502 "description": "User rights added by the extension"
506 "description": "Mapping of model ID to class name"
510 "description": "Rate limits"
514 "description": "Parser test files to run"
516 "RecentChangesFlags": {
518 "description": "Flags (letter symbols) shown on RecentChanges pages"
520 "ExtensionFunctions": {
525 "description": "Function to call after setup has finished"
527 "ExtensionMessagesFiles": {
529 "description": "File paths containing PHP internationalization data"
533 "description": "Directory paths containing JSON internationalization data"
535 "ExtensionEntryPointListFiles": {
540 "description": "SpecialPages implemented in this extension (mapping of page name to class name)"
542 "SpecialPageGroups": {
544 "description": "Mapping of special page name to group it belongs to"
551 "description": "Hooks this extension uses (mapping of hook name to callback)"
555 "description": "Job types this extension implements (mapping of job type to class name)"
559 "description": "List of new log types this extension uses"
576 "LogActionsHandlers": {
585 "APIFormatModules": {
602 "description": "A function to be called right after MediaWiki processes this file"
606 "description": "Configuration options for this extension"