Extension:TemplateStylesExtender
![]() Release status: stableCategory:Stable extensions |
|
---|---|
Implementation | Parser extensionCategory:Parser extensions |
Description | Extends Extension:TemplateStyles with new selectors |
Author(s) | Octfxtalk |
Latest version | 2.0.0 (2025-06-02) |
MediaWiki | 1.43+Category:Extensions with manual MediaWiki version |
PHP | >=8.0 |
Composer | octfx/template-styles-extenderCategory:Extensions supporting Composer |
License | GNU General Public License 2.0 or later |
Download | GitHub: Note: |
|
|
The TemplateStylesExtender extension extends Extension:TemplateStyles with new selectors and matchers. TemplateStylesExtender is developed based on css-sanitizer 5.5.0, which is being used by MediaWiki 1.43.
Features
- Declare CSS custom properties/variables
- Use CSS custom properties/variables in most properties
- Implement additional properties and values as listed below
Installation
- Download and place the file(s) in a directory called
TemplateStylesExtender
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'TemplateStyles' ); wfLoadExtension( 'TemplateStylesExtender' );
- Configure as required.
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Configuration
Configuration | Description | Default |
---|---|---|
$wgTemplateStylesExtenderCustomPropertiesDeclaration |
Allow CSS custom properties (CSS variables) to be declared as properties | true |
$wgTemplateStylesExtenderExtendCustomPropertiesValues |
Allow the CSS custom properties (CSS variables) to be used as values in all properties | true |
$wgTemplateStylesExtenderEnableUnscopingSupport |
Allows users with unscope permissions to unscope CSS by setting a wrapclass attribute. |
false |
$wgTemplateStylesExtenderUnscopingPermission |
Specify a permission group that is allowed to unscope CSS. | editinterface |
Note CSS Vars
Currently using :root
selectors won't work due to template styles prepending .mw-parser-output
.
One possible fix is to wrap the entire content into a 'div' element and adding the declarations to this, e.g.
div#content-wrap { --padding: 10px } .content { padding: var( --padding ) }
Wikitext
<div id="content-wrap"> <div class="content"> The WikiText... </div> </div>
Unscoping of CSS
Example: <templatestyles src="Foo/style.css" wrapclass="mediawiki" />
results in the CSS being scoped to .mediawiki
instead of .mw-parser-output
.
editinterface
right. You can alternatively include a call to a template that includes the styles.See also
![]() | This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |