X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=make_static.PL;h=4857bf0ccd37e2a367a75d1b037070df167023fa;hb=aefbc42eea7ef293b2fe6db72158e3494a742000;hp=955502e3ad660a15a4d156eed7561a92c1230417;hpb=5d3c8a5435a93f9f1d1fbb1c78d32790e7f641d4;p=gruntmaster-page.git diff --git a/make_static.PL b/make_static.PL index 955502e..4857bf0 100644 --- a/make_static.PL +++ b/make_static.PL @@ -6,6 +6,7 @@ use CSS::Minifier::XS qw//; use CSS::SpriteMaker; use JavaScript::Minifier::XS qw//; +use IO::Compress::Gzip qw/gzip/; use File::Slurp qw/read_file write_file/; mkdir 'static'; @@ -28,10 +29,17 @@ sub make_sprite { $maker->print_css( filename => 'css/logos.css', - sprite_filename => 'https://static.mindcoding.ro/static/logos.png', + sprite_filename => '/static/logos.png', ); - system 'optipng', '-o7', '-zm1-9', 'static/logos.png'; + system 'pngnq-s9', '-s1', 'static/logos.png'; + system 'optipng', '-o7', '-zm1-9', 'static/logos-nq8.png'; + rename 'static/logos-nq8.png', 'static/logos.png'; +} + +sub gzip_file { + my ($file) = @_; + gzip $file => "$file.gz", -Level => 9, Minimal => 1; } sub make_css { @@ -42,6 +50,7 @@ sub make_css { my $css = read_file $_; $css .= $common_css; write_file "static/css/$theme.css", CSS::Minifier::XS::minify $css; + gzip_file "static/css/$theme.css"; } } @@ -56,6 +65,15 @@ sub make_js { $js .= read_file $_ for ; write_file 'static/js.js', JavaScript::Minifier::XS::minify $js; } + gzip_file 'static/js.js'; +} + +my $sprite_mtime = -M 'static/logos.png' // 0; +for () { + if (!$sprite_mtime || $sprite_mtime > -M) { + make_sprite; + last + } } my $css_mtime = -M 'static/css/slate.css' // 0; @@ -74,14 +92,6 @@ for () { } } -my $sprite_mtime = -M 'static/logos.png' // 0; -for () { - if (!$sprite_mtime || $sprite_mtime > -M) { - make_sprite; - last - } -} - package Local::CSS::SpriteMaker; @@ -94,7 +104,7 @@ sub _get_stylesheet_string { @ret = sort @ret; unshift @ret, <