tractorcow / silverstripe-lessphp
Silverstripe 模块,允许使用 LessCss 编程生成 CSS
Requires
This package is auto-updated.
Last update: 2024-09-20 17:00:17 UTC
README
此模块创建了一个简单的界面,用于使用 Silverstripe 开发由 LESS 驱动的网站。
LESS 是一个强大的 API,允许您使用真实的编程逻辑来开发 CSS 样式。这使得开发者可以以更具有表现力的方式生成样式,而不是重复性的方式,支持可维护和响应式的设计。
LESS 注入了诸如变量、混合、操作和函数等功能。
此模块基于 LESS 的 LessPhp 实现。
致谢和作者
- Olivier Penhoat - 作者 - https://github.com/openhoat/silverstripe-lessphp
- Damian Mooyman - https://github.com/tractorcow/silverstripe-lessphp
要求
- SilverStripe 3.0 或更高版本
- PHP 5.3
安装说明
- 将所有文件解压到 Silverstripe 根目录下的 'lessphp' 文件夹中,或使用 composer 进行安装
composer require "tractorcow/silverstripe-lessphp": "3.0.*@dev"
- 在您的主题文件夹内创建一个 'lesscss' 目录(例如 /themes/tractorcow/lesscss)。这是您应该放置所有 less 脚本的位置。子主题可能有它们自己的 lesscss 文件夹。
- 确保您的 css 文件夹在您的开发环境中(或如果您打算在那里构建脚本,在您的预发布环境中)具有写权限。
- 要编译 CSS 文件,请在开发模式下运行或在 URL 中使用 ?flush=all 进行手动刷新。
文档
- LESS API 参考文档可以在 https://lesscss.org.cn/#docs 找到。
示例
有关更多示例,请参阅 https://lesscss.org.cn/#synopsis
变量和嵌套规则
/themes/tractorcow/lesscss/typography.less.css
@color: #4D926F;
.typography
{
p {
color: @color;
}
h1 {
color: @color;
}
}
将生成
/themes/tractorcow/css/typgraphy.css
.typography p {
color: #4D926F;
}
.typography h1 {
color: #4D926F;
}
混合(或宏)
/themes/tractorcow/lesscss/layout.less.css
.rounded-corners(@radius: 5px)
{
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}
#header {
.rounded-corners;
}
#footer {
.rounded-corners(10px);
}
将生成
/themes/tractorcow/css/layout.css
#header {
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#footer {
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
许可
版权 (c) 2013, Damian Mooyman, Olivier Penhoat 版权所有。
版权所有。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:
- 源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。
- 二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明在随重新分发提供的文档和其他材料中。
- 未经具体事先书面许可,不得使用 Damian Mooyman 和/或 Olivier Penhoat 的姓名来认可或推广由此软件派生的产品。
本软件由版权所有者和贡献者提供,按“原样”提供,并且不承担任何明示或暗示的保证,包括但不限于适销性和特定用途适用性的暗示保证。在任何情况下,对于因使用本软件而产生的任何直接、间接、偶然、特殊、示范性或连锁损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断),无论何种原因和何种责任理论,包括合同责任、严格责任或侵权责任(包括疏忽或其他),均不承担责任,即使已被告知此类损害的可能性。