wake/silex-twig-assetic-integration-provider

An integration library of Twig and Assetic works for Silex.

v0.2.0 2015-10-11 19:23 UTC

This package is auto-updated.

Last update: 2024-03-29 02:39:35 UTC


README

This is an integration library of Twig and Assetic works for Silex.

The original Twig extension of Assetic is not easy to use. There's a lot of work (code) to do and you need always to know which templates require assets.

This integration library will handle it automatically.

Installation

Add in your composer.json with following require entry:

{
  "require": {
    "wake/Silex-Twig-Assetic-Integration-Provider": "*"
  }
}

or using composer:

$ composer require wake/Silex-Twig-Assetic-Integration-Provider:*

then run composer install or composer update.

Registering

$app->register (new Silex\Provider\TwigAsseticIntegrationProvider (), array (
  'assetic.asset.root'        => 'your_asset_files_root',
  'assetic.asset.output_root' => 'your_asset_output_root',
  'assetic.debug'             => false,
  'assetic.filter'            => array (
    'sass'    => new \Assetic\Filter\SassFilter ('/path/to/parser/sass'),
    'yui_css' => new \Assetic\Filter\Yui\CssCompressorFilter ('/path/to/yuicompressor.jar')
  )
));

Important: Make sure you are using TwigServiceProvider and have registered before this code. It override some Twig loaders to force it expode some template information.

Usage

Just as Assetic twig extension

{% stylesheets '/path/to/sass/main.sass' filter='sass,?yui_css' output='css/all.css' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

Filter Auto Detecting

Twig Assetic Integration Provider provides Assetic filters auto detecting as below list:

CssMinFilter

  • Description: Minifies CSS
  • Filter name: cssmin
  • Requirement: natxet/CssMin

CssRewriteFilter

  • Description: Fixes relative URLs in CSS assets when moving to a new URL
  • Filter name: cssrewrite

Feedback

Please feel free to open an issue and let me know if there is any thoughts or questions 😃

License

Released under the MIT license