octfx / template-styles-extender
扩展 TemplateStyles 以支持新的 CSS 属性
Requires
- php: >=8.0
- ext-json: *
- composer/installers: >=1.0.1
Requires (Dev)
README
以下新的匹配器扩展了 Extension:TemplateStyles
- CSS 变量
- 示例:
color: var( --example-var )
- 示例:
image-rendering
ruby-position
ruby-align
scroll-margin-*
,scroll-padding-*
pointer-events
aspect-ratio
安装
从最新发布页面下载 zip 文件。
将文件夹提取到 extensions/TemplateStylesExtender
。
将以下内容添加到 LocalSettings.php
wfLoadExtension( 'TemplateStyles' ); wfLoadExtension( 'TemplateStylesExtender' );
配置
$wgTemplateStylesExtenderEnablePrefersColorScheme
默认: true
启用或禁用 @media (prefers-color-scheme)
查询。
$wgTemplateStylesExtenderEnableCssVars
默认: true
启用或禁用 CSS 变量支持。
$wgTemplateStylesExtenderEnableUnscopingSupport
默认: false
允许具有 editinterface
权限的用户通过设置 wrapclass
属性来取消 CSS 作用域。
注意:这可能会很昂贵,因为每个带有 wrapclass
设置的 templatestyles 标签都将尝试查找当前页面修订的用户,并检查此用户是否有权限激活 CSS 取消作用域。
示例: <templatestyles src="Foo/style.css" wrapclass="mediawiki" />
将导致 CSS 作用域为 .mediawiki
而不是 .mw-parser-output
。
注意:在页面中包含此类调用将本质上限制编辑权限为具有 editinterface
权限的用户。您还可以选择包含一个调用包含样式的模板的调用。
$wgTemplateStylesExtenderUnscopingPermission
默认: editinterface
指定允许取消 CSS 作用域的权限组。
CSS 变量说明
目前使用 :root
选择器不起作用,因为模板样式在前面添加了 .mw-parser-output
。
一个可能的解决方案是将整个内容包装在一个 div
元素中,并将声明添加到其中,例如。
div#content-wrap { --padding: 10px } .content { padding: var( --padding ) }
维基文本
<div id="content-wrap"> <div class=".content"> The WikiText... </div> </div>