{"master":{"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","requires":{"MediaWiki":">= 1.47.0"},"ContentHandlers":{"sanitized-css":{"class":"MediaWiki\\Extension\\TemplateStyles\\TemplateStylesContentHandler","services":["TrackingCategories","ConfigFactory","CodeHighlighter"]}},"TrackingCategories":["templatestyles-stylesheet-error-category","templatestyles-page-error-category"],"ServiceWiringFiles":["includes\/ServiceWiring.php"],"attributes":{"TemplateStyles":{"Namespaces":[]},"TemplateSandbox":{"EditContentModels":["sanitized-css"]}},"callback":"MediaWiki\\Extension\\TemplateStyles\\Hooks::onRegistration","Hooks":{"ParserFirstCallInit":"main","ContentHandlerDefaultModelFor":"main","CodeEditorGetPageLanguage":"codeeditor","CodeMirrorGetMode":"codemirror"},"HookHandlers":{"main":{"class":"MediaWiki\\Extension\\TemplateStyles\\Hooks"},"codeeditor":{"class":"MediaWiki\\Extension\\TemplateStyles\\CodeEditorHooks"},"codemirror":{"class":"MediaWiki\\Extension\\TemplateStyles\\CodeMirrorHooks"}},"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\". If the regex has a capture group named 'filename', then TemplateStyles will register that file as being in use by the page.","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},"TemplateStylesUseCodeMirror":{"description":"Use CodeMirror when editing TemplateStyles CSS pages.","value":false},"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":"MediaWiki\\Config\\GlobalVarConfig::newInstance"},"repository":"https:\/\/gerrit.wikimedia.org\/r\/mediawiki\/extensions\/TemplateStyles"}}