Silex Twig Assetic Integration Provider
This is an integration library of Twig and Assetic works for Silex., (*1)
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., (*2)
This integration library will handle it automatically., (*3)
Installation
Add in your composer.json
with following require entry:, (*4)
{
"require": {
"wake/Silex-Twig-Assetic-Integration-Provider": "*"
}
}
or using composer:, (*5)
$ composer require wake/Silex-Twig-Assetic-Integration-Provider:*
then run composer install
or composer update
., (*6)
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., (*7)
Usage
Just as Assetic twig extension, (*8)
{% 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:, (*9)
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 :smiley:, (*10)
License
Released under the MIT license, (*11)