wake / silex-twig-assetic-integration-provider
An integration library of Twig and Assetic works for Silex.
Requires
- kriswallsmith/assetic: ~1.3
- silex/silex: ~1.3
- twig/twig: ~1.12
This package is auto-updated.
Last update: 2024-10-29 04:20:08 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