允许使用 SCSS 文件进行 MediaWiki 样式化

4.0.0 2024-04-25 19:00 UTC

This package is auto-updated.

Last update: 2024-09-13 09:16:14 UTC


README

GitHub Workflow Status Latest Stable Version License

MediaWiki SCSS 库提供了一种 ResourceLoader 模块,可用于编译 SCSS

要求

使用

SCSS 模块的定义与其他样式模块类似。请参阅有关 $wgResourceModules 的手册。还应该可以将模块定义添加到 MediaWiki 扩展的 extension.json 文件中。请参阅 Developing_with_ResourceLoader

可以使用一些附加键

  • class:这是必需的。它选择用于模块的类。对于 SCSS,值必须是 'SCSS\\ResourceLoaderSCSSModule'

  • styles:这不是一个附加键,但它具有扩展的语义。此键包含模块样式文件的列表。每个文件可以可选地指定一个位置来影响编译文件的顺序。允许的位置值有

    1. beforeFunctions
    2. functions
    3. afterFunctions
    4. beforeVariables
    5. variables
    6. afterVariables
    7. beforeMain
    8. main
    9. afterMain

    如果没有指定位置,则假定 main

    一个模块的所有文件都将一起编译,即变量、混入等将在它们之间共享。

  • variables:一个变量和值数组,用于覆盖样式文件中的 SCSS 变量。这允许更改值(例如,颜色、字体、边距)而无需修改实际的样式文件。

  • cacheTriggers:编译 SCSS 是昂贵的,因此编译结果被缓存。此选项列出在更改时将触发刷新缓存并重新编译样式文件的文件。

    此列表上的所有文件都将针对每个网络请求进行检查。为了最小化对文件系统的影响以及构建页面的时间,不建议将所有样式文件添加到此列表中。

以下是一个示例定义

$wgResourceModules[ 'ext.MyExtension.styles' ] = [

	'class' => 'SCSS\\ResourceLoaderSCSSModule',
	'localBasePath' => $localBasePath,
	'remoteBasePath' => $remoteBasePath,
	'position' => 'top',

	'styles' => [
		'modules/ext.MyExtension.foo.scss' => 'main',
		'modules/ext.MyExtension.bar.scss'
	],
	'variables' => [
		'red' => '#ff0000',
		'green' => '#00ff00',
		'blue' => '#0000ff',
	],
	'cacheTriggers' => [
		'LocalSettings.php',
		'composer.lock',
	],
];

该扩展使用 scssphp/scssphp 编译器,该编译器有一些限制。请参阅 问题列表

缓存类型

$egScssCacheType 可以设置为请求编译样式的特定缓存类型。要完全禁用 SCSS 样式的缓存(例如,在开发期间),请设置 $egScssCacheType = CACHE_NONE;。此操作绝不应该在生产网站上执行。

专业支持

SCSS 扩展由 Professional Wiki 维护。您可以通过 联系我们 获得帮助安装或自定义 SCSS。我们还提供开发工作。

运行测试

测试只能在MediaWiki加载库时运行。您可以通过composer.local.json添加它(可能使用dev-master)。

在您的MediaWiki根目录内

php tests/phpunit/phpunit.php -c vendor/mediawiki/scss/phpunit.xml.dist

许可证

您可以在GNU通用公共许可证,版本3(或任何后续版本)下使用SCSS扩展。

发布说明

版本 4.0.0

发布日期:2024-04-25

  • 将最低MediaWiki版本从1.35提升至1.39
  • 将最低PHP版本从7.4.3提升至8.0
  • 将最低scssphp版本从1.10.2提升至1.12.1
  • 更新了编码标准

版本 3.0.1

发布日期:2022-07-25

  • 初步支持MediaWiki 1.39

版本 3.0.0

发布日期:2022-03-30

  • 将最低MediaWiki版本从1.27提升至1.35
  • 将最低PHP版本从5.6提升至7.4.3
  • 将最低scssphp版本从1.5.2提升至1.10.2

版本 2.0.8

发布日期:2022-07-25

  • 初步支持MediaWiki 1.39

版本 2.0.7

发布日期:2021-05-18

  • 增加了scssphp的最小版本

版本 2.0.6

发布日期:2021-05-15

  • 暂时限制scssphp版本低于1.5,以避免破坏性更改

版本 2.0.5

发布日期:2020-12-27

  • 增加了与MediaWiki 1.36的兼容性

版本 2.0.4

发布日期:2020-09-07

  • 切换到新的scssphp版本

版本 2.0.3

发布日期:2020-09-07

  • 暂时将scssphp版本固定为1.1.1,以避免1.2版本的错误

版本 2.0

发布日期:2020-04-19

  • 将MediaWiki扩展转换为标准PHP/Composer库
  • 切换到新的scssphp版本

版本 1.0

发布日期:2019-04-28

  • 初始发布