mediawiki-extensions-Templa.../extension.json
Umherirrender b5ab3bac24 Use HookHandlers for CodeEditor hook
Bug: T338435
Change-Id: I7c2cb3ca5e38ce974187af316bf30e71b8e4ad49
2023-11-06 12:00:18 -05:00

123 lines
4 KiB
JSON

{
"name": "TemplateStyles",
"version": "1.0",
"author": [
"Brad Jorsch",
"Marc A. Pelletier"
],
"url": "https://www.mediawiki.org/wiki/Extension:TemplateStyles",
"namemsg": "templatestyles",
"descriptionmsg": "templatestyles-desc",
"license-name": "GPL-2.0-or-later",
"type": "parserhook",
"manifest_version": 2,
"load_composer_autoloader": true,
"requires": {
"MediaWiki": ">= 1.41"
},
"MessagesDirs": {
"TemplateStyles": [
"i18n"
]
},
"AutoloadNamespaces": {
"MediaWiki\\Extension\\TemplateStyles\\": "includes/"
},
"ContentHandlers": {
"sanitized-css": "MediaWiki\\Extension\\TemplateStyles\\TemplateStylesContentHandler"
},
"TrackingCategories": [
"templatestyles-stylesheet-error-category",
"templatestyles-page-error-category"
],
"attributes": {
"SyntaxHighlight": {
"Models": {
"sanitized-css": "css"
}
},
"TemplateStyles": {
"Namespaces": []
},
"TemplateSandbox": {
"EditContentModels": [
"sanitized-css"
]
}
},
"callback": "MediaWiki\\Extension\\TemplateStyles\\Hooks::onRegistration",
"Hooks": {
"ParserFirstCallInit": "main",
"ParserClearState": "main",
"ContentHandlerDefaultModelFor": "main",
"CodeEditorGetPageLanguage": "codeeditor"
},
"HookHandlers": {
"main": {
"class": "MediaWiki\\Extension\\TemplateStyles\\Hooks"
},
"codeeditor": {
"class": "MediaWiki\\Extension\\TemplateStyles\\CodeEditorHooks"
}
},
"config": {
"TemplateStylesDisable": {
"description": "When set to true, no styles are output. This flag is for development and will be removed.",
"value": false
},
"TemplateStylesAllowedUrls": {
"description": "PCRE regexes to match allowed URLs for various types of external references. Known types are:\n; audio: Sound files\n; image: Images\n; svg: SVGs for the Filter and Masking modules\n; font: External fonts\n; namespace: @namespace declarations\n; css: @import declarations\nIf you want to allow an entire domain, be sure to include a trailing '/', e.g. \"<^https://allowed\\.example\\.org/>\" rather than \"<^https://allowed\\.example\\.org>\", so people can't bypass your filter by creating a subdomain like \"https://allowed.example.org.evil.com\".",
"value": {
"audio": [
"<^https://upload\\.wikimedia\\.org/wikipedia/commons/>"
],
"image": [
"<^https://upload\\.wikimedia\\.org/wikipedia/commons/>"
],
"svg": [
"<^https://upload\\.wikimedia\\.org/wikipedia/commons/[^?#]*\\.svg(?:[?#]|$)>"
],
"font": [],
"namespace": [
"<.>"
],
"css": []
}
},
"TemplateStylesNamespaces": {
"description": "Namespaces to default the content model to CSS on .css subpages.",
"value": {
"10": true
},
"merge_strategy": "array_plus"
},
"TemplateStylesDisallowedProperties": {
"description": "Disallowed style properties that would otherwise be allowed. See also the TemplateStylesPropertySanitizer hook, which allows for finer-grained control.",
"value": []
},
"TemplateStylesDisallowedAtRules": {
"description": "Disallowed at-rules that would otherwise be allowed. Include the '@' in the name. See also the TemplateStylesStylesheetSanitizer hook, which allows for finer-grained control.",
"value": []
},
"TemplateStylesUseCodeEditor": {
"description": "Use CodeEditor when editing TemplateStyles CSS pages.",
"value": true
},
"TemplateStylesAutoParseContent": {
"description": "Set this false if you want to manage an entry for 'sanitized-css' in $wgTextModelsToParse manually. If true, an entry will be added to $wgTextModelsToParse automatically if CONTENT_MODEL_CSS is in the array.",
"value": true
},
"TemplateStylesMaxStylesheetSize": {
"description": "The maximum size of a stylesheet, in bytes. Set null if you don't want to impose a limit.",
"value": 102400
},
"TemplateStylesDefaultNamespace": {
"description": "The default namespace for the src attribute of the <templatestyles> tag. The value 10 corresponds to NS_TEMPLATE.",
"value": 10
}
},
"ConfigRegistry": {
"templatestyles": "GlobalVarConfig::newInstance"
}
}