17/05
2017
Simple CSS & JS minify package
Simple CSS & JS minify library., (*1)
This project is port of YUI CSSmin and JShrink., (*2)
Via Composer, (*3)
composer require asika/minify
Use Factory, (*4)
use Asika\Minifier\MinifierFactory; $cssMinify = MinifierFactory::create('css'); $jsMinify = MinifierFactory::create('js');
Directly new object:, (*5)
$minify = new \Asika\Minifier\JsMinifier; // OR $minify = new \Asika\Minifier\CssMinifier;
Use object, (*6)
use Asika\Minifier\MinifierFactory; $minify = MinifierFactory::create($type); $minify->addFile($path); // Add file path $minify->addContent($path); // Add text content // Get minify content $minify->minify(); // To file $minify->toFile($minifyFile);
Use static class to process single file:, (*7)
$minified = \Asika\Minifier\JsMinifier::process($fileOrContent); $minified = \Asika\Minifier\CssMinifier::process($fileOrContent);
/*!
CommentsUse flaggedComments = false
options to remove /*!
comments:, (*8)
// Add options for every file $minify->addFile($path, ['flaggedComments' => false]); // OR $minify->addContent($content, ['flaggedComments' => false]); // OR \Asika\Minifier\JsMinifier::process($fileOrContent, ['flaggedComments' => false]); // Use constant as key $minify->addFile($path, [ \Asika\Minifier\AbstractMinifier::FLAGGED_COMMENTS => false ]);
url(...)
in CSS filesAdd uri_rewrite
option for every file:, (*9)
// This css in HTML is `{PUBLIC_ROOT}/foo/bar/yoo.css` $minify->addFile( $file, [ 'uri_rewrite' => [ // OR \Asika\Minifier\CssMinifier::URI_REWRITE 'current_dir' => 'foo/bar/yoo.css', 'doc_root' => $_SERVER['DOCUMENT_ROOT'] // [Optional] ] ] );
Or use UriRewriter
class to rewrite css content:, (*10)
$css = \Asika\Minifier\CSS\UriRewriter::rewrite( $content, 'foo/bar/yoo.css' );