PHP CSS & JS Minify
Simple CSS & JS minify library.
This project is port of YUI CSSmin and JShrink.
Installation
Via Composer
composer require asika/minifyGetting Started
Get Minifier
Use Factory
use Asika\Minifier\MinifierFactory;
$cssMinify = MinifierFactory::create('css');
$jsMinify = MinifierFactory::create('js');Directly new object:
$minify = new \Asika\Minifier\JsMinifier;
// OR
$minify = new \Asika\Minifier\CssMinifier;Minify CSS & JS
Use object
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:
$minified = \Asika\Minifier\JsMinifier::process($fileOrContent);
$minified = \Asika\Minifier\CssMinifier::process($fileOrContent);Remove /*! Comments
Use flaggedComments = false options to remove /*! comments:
// 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
]);Rewrite url(...) in CSS files
Add uri_rewrite option for every file:
// 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:
$css = \Asika\Minifier\CSS\UriRewriter::rewrite(
$content,
'foo/bar/yoo.css'
);
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
