michalhisim/stylus

该软件包的最新版本(dev-master)没有提供许可证信息。

PHP 的 Stylus 预处理器

dev-master 2014-01-29 17:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:00:07 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() 函数的一个快速说明。它有一个名为 overwrite 的参数,默认值为 false。这是一个标志,表示您是否想覆盖已解析的 Stylus 文件。

这意味着您可以在每个页面上包含此代码,而无需每次都解析 Stylus 文件。但请确保在开发或更新 Stylus 文件时将 overwrite 设置为 true,以便更改会在您的网站上反映出来。

###解析单个文件 可以只解析一个文件。您只需调用 parseFile('my_styl') 而不是 parseFiles()parseFile() 的第二个参数是 overwrite 标志。如果您想在每次页面加载时解析文件,但不想解析所有文件,则可以使用此方法。

$stylus->parseFile('my_file', true);
$stylus->parseFiles();

##分配变量 分配变量与常规 Stylus 中的方式相同。但现在您可以在解析 stylus 文件之前通过调用 assign 函数添加来自 PHP 的变量。以下是一个示例

PHP

$stylus->assign('px_size', '30px');
$stylus->parseFiles();

Stylus

div
 font-size px_size

生成

div {
    font-size: 30px;
}