Skip to content

Instantly share code, notes, and snippets.

@inkless
Last active December 10, 2015 20:48
Show Gist options
  • Save inkless/4490888 to your computer and use it in GitHub Desktop.
Save inkless/4490888 to your computer and use it in GitHub Desktop.
Another Gist test.
<?php
define('WE_VERSION', '1.0.0');
$conf = array(
'common',
'component',
'business',
'page',
);
require('CSSMin.php');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT_DIR' , dirname(__FILE__) . DS . '..');
define('SRC_DIR' , ROOT_DIR . DS . 'src');
define('COMPRESS_DIR_NAME', ROOT_DIR . DS . 'compressed');
define('LINE', "\n");
function we_compress_css($conf) {
$str = '';
$full_str = '';
// 优先加载 reset.css
$str .= CSSMin::minify(file_get_contents(SRC_DIR . DS . 'common/reset.css'));
$full_str = file_get_contents(SRC_DIR . DS . 'common/reset.css') . LINE;
echo 'reset.css : compressed' . LINE;
foreach ($conf as $path) {
$filepath = SRC_DIR . DS . $path;
if( $handle = opendir($filepath) ) {
while( false !== ( $fileName = readdir($handle) ) ) {
if ($path == 'common' && $fileName == 'reset.css') {
continue;
}
if(strpos($fileName, '.css')) {
$file = $filepath . DS . $fileName;
if (is_file($file)) {
$file_str = file_get_contents($file);
//CSSMin一下
$str .= CSSMin::minify($file_str);
$full_str .= $file_str . LINE;
echo $file . ' : compressed' . LINE;
}
}
}
closedir($handle);
}
}
//去除多余的 @charset "utf-8";
$str = '@charset "utf-8";' . str_replace('@charset "utf-8";', '', $str);
$full_str = '@charset "utf-8";' . str_replace('@charset "utf-8";', '', $full_str);
//改变img路径
$str = preg_replace("/(\.\.\/)+img\//i", '../../img/', $str);
$full_str = preg_replace("/(\.\.\/)+img\//i", '../../img/', $full_str);
//增加版本号
$version = time();
$str = preg_replace("/(url\(.*?)\)/i", "$1?v=".$version.")", $str);
$full_str = preg_replace("/(url\(.*?)\)/i", "$1?v=".$version.")", $full_str);
file_put_contents(COMPRESS_DIR_NAME . DS . 'we-' . WE_VERSION . '.css', $full_str);
file_put_contents(COMPRESS_DIR_NAME . DS . 'we-' . WE_VERSION . '.min.css', $str);
echo 'we-' . WE_VERSION . '.css compressed!' . LINE;
}
we_compress_css($conf);
<?php
define('WE_VERSION', '1.0.0');
$conf = array(
'common',
'component',
'business',
'page',
);
require('CSSMin.php');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT_DIR' , dirname(__FILE__) . DS . '..');
define('SRC_DIR' , ROOT_DIR . DS . 'src');
define('COMPRESS_DIR_NAME', ROOT_DIR . DS . 'compressed');
define('LINE', "\n");
function we_compress_css($conf) {
$str = '';
$full_str = '';
// 优先加载 reset.css
$str .= CSSMin::minify(file_get_contents(SRC_DIR . DS . 'common/reset.css'));
$full_str = file_get_contents(SRC_DIR . DS . 'common/reset.css') . LINE;
echo 'reset.css : compressed' . LINE;
foreach ($conf as $path) {
$filepath = SRC_DIR . DS . $path;
if( $handle = opendir($filepath) ) {
while( false !== ( $fileName = readdir($handle) ) ) {
if ($path == 'common' && $fileName == 'reset.css') {
continue;
}
if(strpos($fileName, '.css')) {
$file = $filepath . DS . $fileName;
if (is_file($file)) {
$file_str = file_get_contents($file);
//CSSMin一下
$str .= CSSMin::minify($file_str);
$full_str .= $file_str . LINE;
echo $file . ' : compressed' . LINE;
}
}
}
closedir($handle);
}
}
//去除多余的 @charset "utf-8";
$str = '@charset "utf-8";' . str_replace('@charset "utf-8";', '', $str);
$full_str = '@charset "utf-8";' . str_replace('@charset "utf-8";', '', $full_str);
//改变img路径
$str = preg_replace("/(\.\.\/)+img\//i", '../../img/', $str);
$full_str = preg_replace("/(\.\.\/)+img\//i", '../../img/', $full_str);
//增加版本号
$version = time();
$str = preg_replace("/(url\(.*?)\)/i", "$1?v=".$version.")", $str);
$full_str = preg_replace("/(url\(.*?)\)/i", "$1?v=".$version.")", $full_str);
file_put_contents(COMPRESS_DIR_NAME . DS . 'we-' . WE_VERSION . '.css', $full_str);
file_put_contents(COMPRESS_DIR_NAME . DS . 'we-' . WE_VERSION . '.min.css', $str);
echo 'we-' . WE_VERSION . '.css compressed!' . LINE;
}
we_compress_css($conf);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment