46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
namespace W3TCL\Minify;
|
|
|
|
class Minify_CSSTidy {
|
|
public static function minify($css, $options = array()) {
|
|
$options = array_merge(array(
|
|
'remove_bslash' => true,
|
|
'compress_colors' => false,
|
|
'compress_font-weight' => false,
|
|
'lowercase_s' => false,
|
|
'optimise_shorthands' => 0,
|
|
'remove_last_;' => false,
|
|
'space_before_important' => false,
|
|
'case_properties' => 1,
|
|
'sort_properties' => false,
|
|
'sort_selectors' => false,
|
|
'merge_selectors' => 0,
|
|
'discard_invalid_selectors' => false,
|
|
'discard_invalid_properties' => false,
|
|
'css_level' => 'CSS3.0',
|
|
'preserve_css' => false,
|
|
'timestamp' => false,
|
|
'template' => 'default'
|
|
), $options);
|
|
|
|
set_include_path(get_include_path() . PATH_SEPARATOR . W3TC_LIB_DIR . '/CSSTidy');
|
|
|
|
require_once 'class.csstidy.php';
|
|
|
|
$csstidy = new \csstidy();
|
|
|
|
foreach ($options as $option => $value) {
|
|
$csstidy->set_cfg($option, $value);
|
|
}
|
|
|
|
$csstidy->load_template($options['template']);
|
|
$csstidy->parse($css);
|
|
|
|
$css = $csstidy->print->plain();
|
|
|
|
$css = Minify_CSS_UriRewriter::rewrite($css, $options);
|
|
|
|
return $css;
|
|
}
|
|
}
|