PHP 的 Stylus 预处理器(见 https://github.com/AustP/Stylus.php,它是一个完整的分支,除了最低稳定性外)

1.0.8 2020-01-04 13:03 UTC

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;
}