Merge branch 'master' into newmc
authorMarius Gavrilescu <marius@ieval.ro>
Sun, 19 Apr 2015 18:33:50 +0000 (21:33 +0300)
committerMarius Gavrilescu <marius@ieval.ro>
Sun, 19 Apr 2015 18:33:50 +0000 (21:33 +0300)
Conflicts:
make_static.PL
tmpl/skel.en

js/10-modal.js
js/90-themes.js
make_static.PL
tmpl/skel.en

index 62cbb271c56b32f0f779d0ca4529814aeadeb9b8..9bf83ce71f634aad3bfb124fcba63962edb6a782 100644 (file)
@@ -13,6 +13,8 @@ function hide_modal () {
 }
 
 $(function() {
+       if(window.innerWidth < 768)
+               return;
        modal = $('.modal')[0];
        backdrop = $('.backdrop')[0];
        $(modal).on('transitionend', el => {
index 9de6b1b87b510dd0e85a63d38d5e9f38bbdfe9dc..756b15612991212da6c750ff7d7ad00655861ba5 100644 (file)
@@ -1,5 +1,5 @@
 function set_style(name){
-       $('link[rel~="stylesheet"]').each(e => e.disabled = true);
+       $('link[title]').each(e => e.disabled = true);
        $('link[title="' + name + '"]')[0].disabled = false;
        localStorage.setItem("theme", name);
        $(function() {
index 44f56fa6012f89f1d0093eb3ab101e0781b5613e..23c5643d91ddeb063d4b0236890fd38856af593a 100644 (file)
@@ -2,12 +2,12 @@
 use v5.14;
 use warnings;
 
-use CSS::Minifier::XS qw//;
+use CSS::Minifier::XS qw/minify/;
 use CSS::SpriteMaker;
-
 use Digest::SHA qw/sha256_base64/;
 use IO::Compress::Gzip qw/gzip/;
 use File::Slurp qw/read_file write_file edit_file_lines/;
+use List::Util qw/first/;
 
 mkdir 'static';
 mkdir 'static/css';
@@ -43,15 +43,41 @@ sub gzip_file {
        gzip $file => "$file.gz", -Level => 9, Minimal => 1;
 }
 
+sub read_css_into_blocks {
+       my ($file) = @_;
+       my (@blocks, $block);
+       for (read_file $file) {
+               $block .= $_;
+               if (/^}/) {
+                       push @blocks, $block;
+                       $block = '';
+               }
+       }
+       \@blocks
+}
+
 sub make_css {
-       my $common_css;
-       $common_css .= read_file $_ for <css/*.css>;
+       my %css;
+       $css{common} .= read_file $_ for <css/*.css>;
+
+       my (%themes, $rndtheme);
        for (<css/themes/*>) {
-               my ($theme) = m,themes/(.*)\.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";
+               ($rndtheme) = m,themes/(.*)\.css,;
+               $themes{$rndtheme} = read_css_into_blocks $_;
+       }
+
+       while (grep { scalar @$_ } values %themes) {
+               my %blocks = map { $_ => (shift @{$themes{$_}}) // '' } keys %themes;
+               if (grep { $_ ne $blocks{$rndtheme} } values %blocks) {
+                       $css{$_} .= $blocks{$_} for keys %themes;
+               } else {
+                       $css{common} .= $blocks{$rndtheme};
+               }
+       }
+
+       for my $name (keys %css) {
+               write_file "static/css/$name.css", minify $css{$name};
+               gzip_file "static/css/$name.css"
        }
 }
 
index 0555da9de45a207268cfeae0c52eea2d504e5739..e414d16d24aed9a4d60f2af68c0838515264807c 100644 (file)
@@ -4,6 +4,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 <link href="/static/favicon.png" rel="shortcut icon">
+<link href="/static/css/common.css" rel="stylesheet" integrity="x">
 <link href="/static/css/cyborg.css" title="cyborg" rel="alternate stylesheet" integrity="x">
 <link href="/static/css/slate.css" title="slate" rel="stylesheet" integrity="x">
 <link href="/static/css/readable.css" title="readable" rel="alternate stylesheet" integrity="x">
This page took 0.012371 seconds and 4 git commands to generate.