Jump to content
MediaWiki

Extension:TemplateStylesExtender

From mediawiki.org
MediaWiki extensions manual
TemplateStylesExtender
Release status: stable
Implementation Parser extension
Description Extends Extension:TemplateStyles with new selectors
Author(s) Octfx talk
Latest version 2.2.0
Compatibility policy Master maintains backward compatibility.
MediaWiki >= 1.43.0
PHP >=8.0
Database changes No
Composer octfx/template-styles-extender
  • $wgTemplateStylesExtenderExtendCustomPropertiesValues
  • $wgTemplateStylesExtenderEnableUnscopingSupport
  • $wgTemplateStylesExtenderCustomPropertiesDeclaration
  • $wgTemplateStylesExtenderUnscopingPermission
Licence GNU General Public License 2.0 or later
Download

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

[edit ]
  • Declare CSS custom properties/variables
  • Use CSS custom properties/variables in most properties
  • Implement additional properties and values as listed below
Module Changes Upstream task
Basic User Interface Module Level 4 Added property: pointer-events T342271
Box Sizing Module Level 4 Backported for css-sanitizer 5.5.0 T375344
Cascading and Inheritance Level 5 Added value: revert-layer -
Color Module Level 4 Added: Alpha HEX notation T265675
Color Module Level 5 Added: Relative color, color() -
Containment Module Level 3 Added properties: contain , content-visibility -
Filter Effects Module Level 2 Added property: backdrop-filter -
Fonts Module Level 4 Added properties: font-optical-sizing , font-variation-settings , ascent-override , descent-override , font-display , line-gap-override -
Fonts Module Level 5 Added property: size-adjust -
Masking Module Level 1 Added property: -webkit-mask-image -
Ruby Annotation Layout Module Level 1 Added properties: ruby-align , ruby-position T277755
Scroll Snap Module Level 1 Added properties: scroll-margin , scroll-padding , scroll-snap-align , scroll-snap-stop , scroll-snap-type T271598
Values and Units Module Level 4 Added function: clamp() T394619

Installation

[edit ]
  • Download and place the file(s) in a directory called TemplateStylesExtender in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'TemplateStyles' );
    wfLoadExtension( 'TemplateStylesExtender' );
    
  • Configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration

[edit ]
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

[edit ]

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

[edit ]

Example: ‎<templatestyles src="Foo/style.css" wrapclass="mediawiki" /> results in the CSS being scoped to .mediawiki instead of .mw-parser-output.

Including such a call in a page essentially limits editing to users with the editinterface right. You can alternatively include a call to a template that includes the styles.

See also

[edit ]
This extension is included in the following wiki farms/hosts and/or packages:

AltStyle によって変換されたページ (->オリジナル) /