octfx/template-styles-extender

扩展 TemplateStyles 以支持新的 CSS 属性

1.2.2 2024-06-30 09:56 UTC

This package is auto-updated.

Last update: 2024-09-19 19:24:30 UTC


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>