kylekatarnls / stylus
PHP 的 Stylus 预处理器(见 https://github.com/AustP/Stylus.php,它是一个完整的分支,除了最低稳定性外)
支持包维护!
kylekatarnls
Open Collective
Tidelift
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: >=4.0 <6
This package is auto-updated.
Last update: 2024-09-06 04:49:32 UTC
README
PHP 的 Stylus 解析器
CSS 需要一个英雄... 再次
当我第一次看到 Stylus 时,我觉得它很神奇,并将其集成到我的 nodejs 应用中。当我开始我的下一个项目,一个 PHP 项目时,我非常喜欢 Stylus,所以我想将其集成到我的 PHP 项目中。令人惊讶的是,我没有找到任何 PHP 的 Stylus 解析器。所以我像任何开发者一样,自己创建了一个。我想分享它。
当前功能
- 省略大括号
- 省略冒号
- 省略分号
- 自定义函数
- 导入其他文件
- '&' 父引用
- 混合
- 插值
- 变量
使用 Stylus.php
使用 Stylus.php 非常简单!只需包含以下代码
require('Stylus.php'); $stylus = new Stylus(); $stylus->setReadDir('read'); $stylus->setWriteDir('write'); $stylus->setImportDir('import'); //if you import a file without setting this, it will import from the read directory $stylus->parseFiles();
这就是全部!现在关于 parseFiles()
函数的快速说明。它有一个名为 overwite
的参数,默认为 false
。这是一个标志,指示您是否希望覆盖已解析的 Stylus 文件。
这意味着您可以在每个页面上包含此代码,而不会解析 Stylus 文件。但请确保在开发或更新 Stylus 文件时将 overwrite
设置为 true
,以便更改将反映在您的网站上。
解析单个文件或字符串
您可以选择使用以下语法执行确切的操作,而不是编译读取目录中的所有文件。
// From string to string $css = $stylus->fromString("body\n color black")->toString(); // From string to file $stylus->fromString("body\n color black")->toFile("out.css"); // From file to string $css = $stylus->fromFile("in.styl")->toString(); // From file to file $stylus->fromFile("in.styl")->toFile("out.css");
toFile($file, $overwrite)
接受两个参数,它们都是可选的。
$file
: 要写入的文件名,如果省略或为 null,则使用输入文件名,并将.styl
更改为.css
。$overwrite
: 指定是否在找到同名文件时解析和写入文件。
分配变量
分配变量与常规 Stylus 中的方式相同。但您现在可以在解析 stylus 文件之前通过调用 assign
函数添加变量。以下是一个示例
PHP
$stylus->assign('px_size', '30px'); $stylus->parseFiles();
Stylus
div font-size px_size
产生
div { font-size: 30px; }