cypresslab/less-elephant-bundle

集成 LessElephant 到 Symfony2

dev-master 2013-03-04 13:43 UTC

This package is auto-updated.

Last update: 2024-08-29 03:31:26 UTC


README

一个用于在 Symfony2 项目中使用 LessElephant 库的包。

该包在每次请求时扫描您的 less 项目,并检查是否需要重新编译。它处理依赖项,因此您可以在没有问题的情况下使用带有 @import 的 less。您不再需要 JavaScript 或手动执行 lessc

安装

在 Symfony2 中集成 Bootstrap 并动态编译 less

配置

将配置添加到您的配置文件中(针对开发环境)

app/config_dev.yml

cypress_less_elephant:
    less_binary_path: "/usr/local/bin/lessc"
    less_projects:
        my-first-project:
            source_folder: %kernel.root_dir%/../src/Cypress/DemoBundle/Resources/public/bootstrap/less
            source_file: bootstrap.less
            destination_css: %kernel.root_dir%/../src/Cypress/DemoBundle/Resources/public/bootstrap/css/bootstrap.css
        another-project:
            .....
    force_compile: ~

less_binary_path(可选)是您的 lessc 二进制文件的路径。LessElephant 尝试通过 "which lessc" 来查找它。因此,如果您在 Windows 上,则需要此配置

less_projects(至少 1 个)为您的每个 less 项目定义一个条目。所有三个参数都是必填项

  • source_folder 存储所有 less 文件的文件夹

  • source_file 主 less 文件。通常这是一个包含许多 @import 指令的文件

  • destination_css 目标 CSS 文件。 此文件需要可由 Web 服务器用户写入(例如,在 Linux 上为 www-data

force_compile(可选)默认值:false。如果为 true,我们将强制对每个请求进行编译。

将样式表添加到您的模板中

assetic

{% stylesheets filter="yui_css"
    "@CypressDemoBundle/Resources/public/bootstrap/css/bootstrap.css" %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

不使用 assetic

<link href="{{ asset('bundles/cypressdemo/bootstrap/css/bootstrap.css') }}" type="text/css" rel="stylesheet" />

享受吧!

它是如何工作的

该包注册了一个事件监听器,在每次请求时检查在 config_dev.yml 文件中定义的项目是否处于 "clean" 状态或需要重新编译。

如果项目不需要重新编译,它将为 symfony 添加一个非常小的开销,只是检查文件所需的时间。

阅读 LessElephant README 了解其他有用信息。