Merge branch 'master' into newmc
authorMarius Gavrilescu <marius@ieval.ro>
Tue, 4 Aug 2015 13:04:40 +0000 (16:04 +0300)
committerMarius Gavrilescu <marius@ieval.ro>
Tue, 4 Aug 2015 13:04:40 +0000 (16:04 +0300)
1  2 
js/90-mobilenav.js
js/90-nav.js
js/90-themes.js
make_static.PL
tmpl/skel.en

index 9efe8fccb7b968b8759ab0d2cb78f50d51152771,bd47c8f90091af3f3fe1744931e6bae949f25748..981c843b7afc1f641cb6c9931956e654349d37b3
@@@ -1,6 -1,6 +1,6 @@@
  $(function(){
-       const nav = $('nav')[0];
+       const nav = q('nav');
        nav.classList.add('hidden-xs');
-       $('#title')[0].insertAdjacentHTML('beforebegin', '<div class="text-center visible-xs-block">Tap title to toggle menu</div>');
+       q('#title').insertAdjacentHTML('beforebegin', '<div class="text-center visible-xs-block">Tap title to toggle menu</div>');
 -      $('#title').on('click', () => nav.classList.toggle('hidden-xs'));
 +      $('#title,#logo').on('click', () => nav.classList.toggle('hidden-xs'));
  });
diff --cc js/90-nav.js
Simple merge
diff --cc js/90-themes.js
index 6a4c6809dbbb3a7be503031d4823ebf0bcb1033d,a94d1300d9434140fc60004ea80eff1a09fb30fe..50834da65622a6ffd71536067798d34a8ad54d95
@@@ -3,15 -3,8 +3,14 @@@ function set_style(name, trans)
                document.body.classList.add('transition-color');
                setTimeout(() => document.body.classList.remove('transition-color'), 1000);
        }
-       $('link[title]').each(e => e.disabled = true);
-       $('link[title="' + name + '"]')[0].disabled = false;
+       q('html').className = name;
        localStorage.setItem("theme", name);
 +      $(function() {
 +              if(name == 'slate' || name == 'cyborg')
 +                      $('img').each(e => e.setAttribute('src', e.getAttribute('src').replace('logos/light', 'logos/dark')));
 +              else
 +                      $('img').each(e => e.setAttribute('src', e.getAttribute('src').replace('logos/dark', 'logos/light')));
 +      });
  }
  
  $(function() {
diff --cc make_static.PL
index 06c9eeea791cd9e8da281f4d43fbb576d1398c4e,f599a56b5db514f6b15e87a1e9ae71b89d4afa2b..1e338addd1dc2d2657a6031d3cd71faa983325c2
@@@ -60,15 -39,35 +60,35 @@@ sub read_css_into_blocks 
        \@blocks
  }
  
 -my $default_theme = 'cyborg';
++my $default_theme = 'slate';
+ sub theme_prefix {
+       my ($theme, $decl, $default) = @_;
+       return $decl if $theme eq $default_theme || !$decl;
+       return '' if $decl eq $default;
+       $default =~ s/[^{]*{\n//;
+       $default =~ s/\n}[^}]*//;
+       $decl =~ s/^$_$//m for split "\n", $default;
+       $decl =~ s/\n+/\n/g;
+       my $prefix = "html.$theme";
+       my ($first_line) = $decl =~ /([^{]*){/;
+       $first_line =~ s/(,\s+)/$1 $prefix /g;
+       $first_line = "$prefix $first_line";
+       $decl =~ s/([^{]*){/$first_line\{/;
+       $decl
+ }
  sub make_css {
-       my %css;
-       $css{common} .= read_file $_ for <css/*.css>;
+       my $css = join '', map { read_file $_ } <css/*.css>;
  
-       my (%themes, $rndtheme);
+       my (%themes);
        for (<css/themes/*>) {
-               ($rndtheme) = m,themes/(.*)\.css,;
-               $themes{$rndtheme} = read_css_into_blocks $_;
+               my ($theme) = m,themes/(.*)\.css,;
+               $themes{$theme} = read_css_into_blocks $_;
        }
+       my @themes = sort grep { $_ ne $default_theme } keys %themes;
  
        while (grep { scalar @$_ } values %themes) {
                my %blocks = map { $_ => (shift @{$themes{$_}}) // '' } keys %themes;
@@@ -89,15 -85,7 +106,15 @@@ sub make_js 
        system 'cp', '-rp', 'js', 'static/';
  }
  
- my $css_mtime = -M 'static/css/slate.css' // 0;
 +my $sprite_mtime = -M 'static/logos/dark.svg' // 0;
 +for (<logos/*>, <logos-light/*>) {
 +      if (!$sprite_mtime || $sprite_mtime > -M) {
 +              make_logos;
 +              last
 +      }
 +}
 +
+ my $css_mtime = -M 'static/css/all.css' // 0;
  for (<css/*>, <css/themes/*>) {
        if (!$css_mtime || $css_mtime > -M) {
                make_css;
diff --cc tmpl/skel.en
index cb7156acf72680be062986850032996912de427b,32eb1f7ba264981e319f9ba9a28b856c94196e00..6406c51a233118553e2e11e798c40fc47b7d582a
@@@ -3,11 -3,7 +3,8 @@@
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
- <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">
 +<link href="/static/favicon.png" rel="shortcut icon">
+ <link href="/static/css/all.css" rel="stylesheet" integrity="x">
  <script src="/static/js/all.js" type="text/javascript" async defer integrity="x"></script>
  
  <body>
This page took 0.016062 seconds and 4 git commands to generate.