X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/membres/message.php?a=blobdiff_plain;f=docs%2Fextension.schema.json;h=1d78eccfc907ad4e6e1f7becc82d3070fc5e1a93;hb=337b1e2ecd0a199d482fab9cdc5bd09723e05910;hp=05f0c45e68afef9915b7d69e152f0ec5cc681fed;hpb=246bebe8216228a2482927680e330c3b15a7334c;p=lhc%2Fweb%2Fwiklou.git diff --git a/docs/extension.schema.json b/docs/extension.schema.json index 05f0c45e68..1d78eccfc9 100644 --- a/docs/extension.schema.json +++ b/docs/extension.schema.json @@ -30,8 +30,7 @@ "description": "Extension's authors.", "items": { "type": "string" - }, - "additionalItems": false + } }, "version": { "type": "string", @@ -409,6 +408,10 @@ "bottom", "top" ] + }, + "templates": { + "type": "object", + "description": "Templates to be loaded for client-side usage" } } } @@ -439,40 +442,52 @@ "description": "Registry of factory functions to create Config objects" }, "namespaces": { - "type": "object", + "type": "array", "description": "Method to add extra namespaces", - "properties": { - "id": { - "type": "integer" - }, - "constant": { - "type": "string" - }, - "name": { - "type": "string" - }, - "gender": { - "type": "object", - "properties": { - "male": { - "type": "string" - }, - "female": { - "type": "string" + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "constant": { + "type": "string" + }, + "name": { + "type": "string" + }, + "gender": { + "type": "object", + "properties": { + "male": { + "type": "string" + }, + "female": { + "type": "string" + } } + }, + "subpages": { + "type": "boolean", + "default": false + }, + "content": { + "type": "boolean", + "default": false + }, + "defaultcontentmodel": { + "type": "string" + }, + "protection": { + "type": ["string", "array"], + "description": "Userright(s) required to edit in this namespace" + }, + "capitallinkoverride": { + "type": "boolean", + "description": "Set $wgCapitalLinks on a per-namespace basis" } }, - "subpages": { - "type": "boolean", - "default": false - }, - "content": { - "type": "boolean", - "default": false - }, - "defaultcontentmodel": { - "type": "string" - } + "required": ["id", "constant", "name"] } }, "TrackingCategories": { @@ -576,7 +591,7 @@ "type": "object" }, "FilterLogTypes": { - "type": "array" + "type": "object" }, "LogNames": { "type": "object" @@ -611,6 +626,9 @@ "ValidSkinNames": { "type": "object" }, + "SkinOOUIThemes": { + "type": "object" + }, "callback": { "type": [ "array", @@ -620,7 +638,24 @@ }, "config": { "type": "object", - "description": "Configuration options for this extension" + "description": "Configuration options for this extension", + "patternProperties": { + "^[a-zA-Z_\u007f-\u00ff][a-zA-Z0-9_\u007f-\u00ff]*$": { + "type": ["object", "array", "string", "integer", "null", "boolean"], + "properties": { + "_merge_strategy": { + "type": "string", + "enum": [ + "array_merge_recursive", + "array_plus_2d", + "array_plus", + "array_merge" + ], + "default": "array_merge" + } + } + } + } }, "ParserTestFiles": { "type": "array",