mediawiki / scss
允许使用 SCSS 文件进行 MediaWiki 样式化
Requires
- php: >=8.0
- scssphp/scssphp: ^1.12.1
Requires (Dev)
- mediawiki/mediawiki-codesniffer: ^v41.0.0
- phpstan/phpstan: ^1.10.15
- phpunit/phpunit: ^9.6.8
- slevomat/coding-standard: ^v8.11.1
- vimeo/psalm: ^5.12.0
README
MediaWiki SCSS 库提供了一种 ResourceLoader 模块,可用于编译 SCSS。
要求
使用
SCSS 模块的定义与其他样式模块类似。请参阅有关 $wgResourceModules 的手册。还应该可以将模块定义添加到 MediaWiki 扩展的 extension.json
文件中。请参阅 Developing_with_ResourceLoader
可以使用一些附加键
-
class
:这是必需的。它选择用于模块的类。对于 SCSS,值必须是'SCSS\\ResourceLoaderSCSSModule'
-
styles
:这不是一个附加键,但它具有扩展的语义。此键包含模块样式文件的列表。每个文件可以可选地指定一个位置来影响编译文件的顺序。允许的位置值有beforeFunctions
functions
afterFunctions
beforeVariables
variables
afterVariables
beforeMain
main
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
- 初始发布