- Symfony 2 (>= 2.2)
- Include this bundle in your composer.json
$ php composer.phar require icedevelopment/compressor-bundle dev-master
Enable the bundle in your AppKernel.php
<?php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
...
new Kcs\CompressorBundle\KcsCompressorBundle(),
...
);
...
}
}
You can enable or disable preservers and compressors changing one of these flags in your config.yml
kcs_compressor:
enabled: true # Set to false to disable the compressor
compress_html: true # Enable HTML optimizations
preserve_line_breaks: true # Enable the line breaks preservation
remove_comments: true # Remove HTML comments while compressing
remove_extra_spaces: true # Remove extra spaces in HTML
compress_js: true # Enable inline js compression
compress_css: true # Enable inline css compression
skip_block_tag: '\#\#\#' # Allow to change skipBlockTag, to make it compatible with twig
If inline js (or css) compression is enabled you must specify the compressor to be used:
kcs_compressor:
js_compressor: none # Can be none (disabled), yui or custom
css_compressor: none # Can be none (disabled), yui or custom
You can specify a custom
class for the inline js and css compressors.
Use the js_compressor_class
and the css_compressor_class
setting to specify which classes must be used.
The custom inline compressor class must implement the Kcs\CompressorBundle\Compressor\InlineCompressorInterface
interface and export a compress
public function accepting the uncompressed content as argument and returning the compressed block
If the yui compressor is used the YUI jar file location must be specified in the yui_jar
setting. You can also change the java executable path modifying the java_path
setting. If not specified defaults to /usr/bin/java
.