X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=make_static.PL;h=4d737fa3d7c330c28a8bb9c477f941c5e9ca2b10;hb=b0201bcc83ed8e81b0842e06c282386fd0d0ed85;hp=6ea5eb1478fe7dce4b2256a3cc2b3ccd9af2fe49;hpb=69d77267e240ef389facf309d33d4cbe68a98895;p=plack-app-gruntmaster.git diff --git a/make_static.PL b/make_static.PL index 6ea5eb1..4d737fa 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,7 @@ sub make_js { $js .= read_file $_ for ; write_file 'static/js.js', JavaScript::Minifier::XS::minify $js; } + gzip_file 'static/js.js'; } my $css_mtime = -M 'static/css/slate.css' // 0; @@ -75,7 +85,7 @@ for () { } my $sprite_mtime = -M 'static/logos.png' // 0; -for () { +for () { if (!$sprite_mtime || $sprite_mtime > -M) { make_sprite; last @@ -94,7 +104,7 @@ sub _get_stylesheet_string { @ret = sort @ret; unshift @ret, <