{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "ext": { "description": "extension tags", "type": "array", "items": { "type": "string", "pattern": "^[a-z\\d_-]+$" } }, "html": { "description": "valid HTML tags", "type": "array", "items": { "type": "array", "items": { "type": "string", "pattern": "^[a-z\\d]+$" } }, "minItems": 3, "maxItems": 3 }, "namespaces": { "description": "formatted namespaces", "type": "object", "patternProperties": { "^-?\\d+$": { "type": "string" } }, "additionalProperties": false }, "nsid": { "description": "namespace IDs", "type": "object", "required": [ "file", "category" ], "patternProperties": { "^[^A-Z]*$": { "type": "integer" } }, "additionalProperties": false }, "functionHook": { "description": "canonical magic words as parser functions", "type": "array", "items": { "type": "string", "pattern": "^[^#A-Z]+$" }, "contains": { "const": "msgnw" }, "minItems": 1 }, "variable": { "description": "canonical magic words as variables", "type": "array", "items": { "type": "string", "pattern": "^[^#A-Z]+$" }, "allOf": [ { "contains": { "const": "!" } }, { "contains": { "const": "=" } } ], "minItems": 2 }, "parserFunction": { "description": "magic words as variables or parser functions", "type": "array", "prefixItems": [ { "description": "case-insensitive variables or parser functions", "type": "object", "patternProperties": { "^[^A-Z]+$": { "type": "string", "pattern": "^[^#A-Z]+$" } }, "additionalProperties": false }, { "description": "case-sensitive variables or parser functions", "type": "object", "properties": { "!": { "const": "!" }, "=": { "const": "=" } }, "additionalProperties": { "type": "string", "pattern": "^[^#A-Z]+$" } }, { "description": "msg and raw", "type": "array", "items": { "type": "string", "pattern": "^[^A-Z]+$" } }, { "description": "subst and safesubst", "type": "array", "items": { "type": "string", "pattern": "^[^A-Z]+$" } } ], "minItems": 4, "maxItems": 4 }, "doubleUnderscore": { "description": "behavior switches", "type": "array", "prefixItems": [ { "description": "case-insensitive behavior switches", "type": "array", "items": { "type": "string", "pattern": "^[^A-Z]+$" } }, { "description": "case-sensitive behavior switches", "type": "array", "items": { "type": "string" } }, { "description": "case-insensitive behavior switches", "type": "object", "patternProperties": { "^[^A-Z]+$": { "type": "string", "pattern": "^[^A-Z]+$" } }, "additionalProperties": false }, { "description": "case-sensitive behavior switches", "type": "object", "additionalProperties": { "type": "string" } } ], "minItems": 2, "maxItems": 4 }, "protocol": { "description": "external link protocols", "type": "string", "pattern": "^[a-z:/]+(?:\\|[a-z:/]+)*$" }, "interwiki": { "description": "interwiki prefixes", "type": "array", "items": { "type": "string", "pattern": "^[^A-Z]+$" } }, "img": { "description": "image-related magic words", "type": "object", "patternProperties": { "^[^A-Z]+$": { "type": "string", "pattern": "^[-a-z]+$" } }, "additionalProperties": false }, "redirection": { "description": "magic words for redirection", "type": "array", "items": { "type": "string", "pattern": "^[##][^A-Z]+$" } }, "variants": { "description": "variants for language conversion", "type": "array", "items": { "type": "string", "pattern": "^[-a-z]+$" } }, "conversionTable": { "description": "table of unidirectional conversions", "type": "array", "items": { "type": "array", "items": { "type": "string", "pattern": "^[^ <>[\\]{}|]+$" }, "minItems": 2, "maxItems": 2 } }, "redirects": { "description": "table of redirects", "type": "array", "items": { "type": "array", "items": { "type": "string", "pattern": "^[^ <>[\\]{}|]+$" }, "minItems": 2, "maxItems": 2 } }, "articlePath": { "description": "base URL of internal links", "type": "string", "pattern": "\\$1" } }, "required": [ "ext", "html", "namespaces", "nsid", "functionHook", "variable", "parserFunction", "doubleUnderscore", "protocol", "interwiki", "img", "redirection", "variants" ], "additionalProperties": false }