hypejunction/elgg-scss

此包已被废弃并且不再维护。没有建议的替代包。

SCSS 文件的运行时编译

dev-master 2017-11-28 13:42 UTC

This package is not auto-updated.

Last update: 2020-01-24 17:12:23 UTC


README

Elgg 2.3

经过很多努力,我放弃了在服务器端编译 SCSS 的想法。这里有太多陷阱,事情可能会变得非常糟糕。使用命令行工具并从磁盘提供编译后的 CSS,而不是尝试在运行时编译。

功能

  • 允许您直接在视图系统中使用 .scss 文件
  • 动态解析和编译导入路径(无需 Ruby 或 npm)

用法

您可以使用 .scss 扩展任何 .css 文件

// custom.scss
@import "variables"; // this view is already included and can be extended by other plugins
@import "custom2"; // you can import any other .scss view
@import "external/partial"; // this can be a view residing in another plugin and named as external/_partial.scss  
elgg_extend_view('_variables.scss', '_my_variables.scss');
elgg_extend_view('elgg.css', 'custom.scss');

可选地,您可以使用 'vars','scss' 钩子来设置全局 scss 变量。

约定

  • 使用下划线前缀您的部分 scss 表格,以确保它们不需要编译,例如 _reusable.scss

  • 您可以在您的 css 文件中使用 scss 语法。这可能很有用,当您想覆盖核心 CSS 视图时。与默认情况下作为简单缓存资源处理的 .css 文件一起工作也更容易。

  • 编译器似乎在与根之外的全表有麻烦。如果您注意到编译器在抱怨,请向根添加一个视图并导入您在其他地方定位的文件,例如,如果您的表格导入部分并且位于 /views/default/my-theme/elements/sheet.scss,它可能无法编译。将前缀表格添加到 /views/default/my-theme.sheet.scss 并添加 @import "my-theme/elements/sheet";