PHPackages                             slushie/laravel-assetic - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. slushie/laravel-assetic

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

slushie/laravel-assetic
=======================

Assetic support for Laravel 4

v1.2.0(10y ago)3717.0k↓100%10[1 issues](https://github.com/slushie/laravel-assetic/issues)PHPPHP &gt;=5.3.0

Since Apr 21Pushed 3y ago3 watchersCompare

[ Source](https://github.com/slushie/laravel-assetic)[ Packagist](https://packagist.org/packages/slushie/laravel-assetic)[ RSS](/packages/slushie-laravel-assetic/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Laravel-Assetic
===============

[](#laravel-assetic)

Easily integrate [Assetic](https://github.com/kriswallsmith/assetic) with Laravel 4.

[![Total Downloads](https://camo.githubusercontent.com/f001d863abd071707295426e2eeadac6133d5e57a9db7c0cf30a4b1f201a29d8/68747470733a2f2f706f7365722e707567782e6f72672f736c75736869652f6c61726176656c2d617373657469632f646f776e6c6f6164732e737667)](https://packagist.org/packages/slushie/laravel-assetic)[![Latest Stable Version](https://camo.githubusercontent.com/348946bea4b4ebbf3db0feecf51b4d24d9434b6ad4912c834db4b8c0499ce8de/68747470733a2f2f706f7365722e707567782e6f72672f736c75736869652f6c61726176656c2d617373657469632f762f737461626c652e737667)](https://packagist.org/packages/slushie/laravel-assetic)[![Latest Unstable Version](https://camo.githubusercontent.com/70082255b919dc1581061064f341180315cc87b50258e9a4b5d09597a4b3dc5f/68747470733a2f2f706f7365722e707567782e6f72672f736c75736869652f6c61726176656c2d617373657469632f762f756e737461626c652e737667)](https://packagist.org/packages/slushie/laravel-assetic)[![License](https://camo.githubusercontent.com/1cc72a4bf7fd16918bb786e803cf97dbe180857cb00bb9423d07eb340ce4c029/68747470733a2f2f706f7365722e707567782e6f72672f736c75736869652f6c61726176656c2d617373657469632f6c6963656e73652e737667)](https://packagist.org/packages/slushie/laravel-assetic)

Key Features
------------

[](#key-features)

1. Easily maintain assets within groups.
2. Instant single file compilation, concatenation, and minification.
3. Apply multiple filters to each group.
4. Automatically updates output files when their inputs have been changed.
5. Pre-compile assets using `artisan asset:warm`.

Usage
-----

[](#usage)

Add to your composer.json:

```
"require": {
    "laravel/framework": "4.0.*",
    "slushie/laravel-assetic": "dev-master",
    "lmammino/jsmin4assetic": "1.0.0",
    "leafo/lessphp": "0.4.0"
}
```

After running `composer update`, you need to add the service provider (and optionally, alias the `Asset` facade) in your `app/config/app.php` file:

```
'providers' => array(
    ...
    'Slushie\LaravelAssetic\LaravelAsseticServiceProvider',
    ...
),

'aliases' => array(
    ...
    'Asset'           => 'Slushie\LaravelAssetic\Facades\AssetFacade',
    ...
),
```

Once your app's configuration has been updated, generate the package config:

```
php artisan config:publish slushie/laravel-assetic
```

Now the laravel-assetic configuration file will be available at:

```
app/config/packages/slushie/laravel-assetic/config.php

```

Finally, edit the configuration file file to define your assets. You can define multiple groups, each with different filters and assets.

Defining Filters
----------------

[](#defining-filters)

Filters are defined within the package configuration file.

```
'filters' => array(
    'css_min'       => 'Assetic\Filter\CssMinFilter',
    'css_import'    => 'Assetic\Filter\CssImportFilter',
    'css_rewrite'   => 'Assetic\Filter\CssRewriteFilter',
    'embed_css'     => 'Assetic\Filter\PhpCssEmbedFilter',
    'less_php'      => 'Assetic\Filter\LessphpFilter',
    'js_min'        => 'Assetic\Filter\JSMinFilter',
    'coffee_script' => 'Assetic\Filter\CoffeeScriptFilter',
    'yui_js' => function () {
        return new Assetic\Filter\Yui\JsCompressorFilter('yui-compressor.jar');
    },
),
```

Adding Assets to Groups
-----------------------

[](#adding-assets-to-groups)

Each group defines `assets` and `filters` as inputs, and an `output` file that should be included in your view.

```
'groups' => array(
    'main_js' => array(
        'filters' => array(
            'js_min',
        ),
        'assets' => array(
            'jquery',                       // Named asset defined below
            'assets/js/common/search.js',   // Single file
            'assets/js/coolarize/*js',      // Folder inclusion
        ),
        'output' => 'scripts.js',           // Writable output relative to public_path()
    ),
),
```

Using Assets in Views
---------------------

[](#using-assets-in-views)

Once defined, your groups can then be accessed from within your views using the `Asset` facade. To link to the `main_js` group, you can use the `Asset::url()` method as follows:

```
