Browse code

1. Improved responsive navigation styling when email subscription is present 2. Refactored subscription styling to be more DRY 3. Added an image for email subscriptions 4. Added assets directory to the gitignore for stashing working files 5. Improved gem list in the Gemfile

Brandon Mathis authored on 11/06/2011 at 19:23:54
Showing 8 changed files
... ...
@@ -3,6 +3,7 @@
3 3
 .sass-cache
4 4
 .gist_cache
5 5
 _cache
6
+_assets
6 7
 public
7 8
 source/_stash
8 9
 vendor
... ...
@@ -7,3 +7,4 @@ gem 'RedCloth'
7 7
 gem 'haml', '>= 3.1'
8 8
 gem 'compass', '>= 0.11'
9 9
 gem 'rubypants'
10
+gem 'rb-fsevent'
... ...
@@ -22,6 +22,7 @@ GEM
22 22
     maruku (0.6.0)
23 23
       syntax (>= 1.0.0)
24 24
     rake (0.9.0)
25
+    rb-fsevent (0.4.0)
25 26
     rdiscount (1.6.8)
26 27
     rubypants (0.2.0)
27 28
     sass (3.1.1)
... ...
@@ -36,5 +37,6 @@ DEPENDENCIES
36 36
   haml (>= 3.1)
37 37
   jekyll
38 38
   rake
39
+  rb-fsevent
39 40
   rdiscount
40 41
   rubypants
... ...
@@ -1,6 +1,7 @@
1 1
 # Required configuration
2 2
 source: source
3 3
 destination: public
4
+port: 4000
4 5
 
5 6
 url: http://yoursite.com
6 7
 title: My Octopress Blog
... ...
@@ -16,7 +17,7 @@ simple_search: http://google.com/search
16 16
 
17 17
 # Optional configurations
18 18
 
19
-# For RSS
19
+# For RSS Feed
20 20
 email:
21 21
 
22 22
 # Twitter
... ...
@@ -1,4 +1,21 @@
1 1
 @mixin mask-image($img, $repeat: no-repeat){
2 2
   @include experimental(mask-image, image-url($img), -webkit, -moz, -o, -ms);
3 3
   @include experimental(mask-repeat, $repeat, -webkit, -moz, -o, -ms);
4
+  width: image-width($img);
5
+  height: image-height($img);
4 6
 }
7
+
8
+@mixin selection($bg: #b4d5fe, $color: inherit){
9
+  * {
10
+    &::-moz-selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px; }
11
+    &::-webkit-selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px;}
12
+    &::selection { background: $bg; color: $color; text-shadow: darken($bg, 20) 0 1px 1px; }
13
+  }
14
+}
15
+
16
+@function text-color($color, $dark: dark, $light: light){
17
+  $text-color: ( (red($color)*299) + (green($color)*587) + (blue($color)*114) ) / 1000;
18
+  $text-color: if($text-color >= 150, $dark, $light);
19
+  @return $text-color;
20
+}
21
+
... ...
@@ -70,25 +70,32 @@ body > nav {
70 70
         border-left: 1px solid $nav-border-right;
71 71
       }
72 72
     }
73
-    fieldset[role=mobile-nav] { display: none; }
74
-    fieldset[role=site-search]{ width: 100%; }
75 73
     form {
76 74
       float: right;
77 75
       text-align: left;
78
-      width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium + 5px;
79 76
       padding-left: .8em;
77
+      width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium + 5px;
80 78
       .search {
81 79
         width: 93%;
82 80
         font-size: .95em;
83 81
         line-height: 1.2em;
84 82
       }
85 83
     }
84
+    ul[data-subscription$=email] + form {
85
+      width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 48px;
86
+      .search { width: 91%; }
87
+    }
88
+    fieldset[role=mobile-nav] { display: none; }
89
+    fieldset[role=site-search]{ width: 100%; }
86 90
   }
87 91
 
88 92
   @media only screen and (min-width: 992px) {
89 93
     form {
90 94
       width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 + 5px;
91 95
     }
96
+    ul[data-subscription$=email] + form {
97
+      width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 48px;
98
+    }
92 99
   }
93 100
 }
94 101
 .no-placeholder {
... ...
@@ -97,25 +104,34 @@ body > nav {
97 97
     text-indent: 1.3em;
98 98
   }
99 99
 }
100
+@mixin mask-subscription-nav($feed: 'rss.png'){
101
+  position: relative; top: 0px;
102
+  text-indent: -999999em;
103
+  background-color: $nav-border-right;
104
+  border: 0;
105
+  padding: 0;
106
+  &,&:after { @include mask-image($feed); }
107
+  &:after {
108
+    content: "";
109
+    position: absolute; top: -1px; left: 0;
110
+    background-color: lighten($nav-color, 25);
111
+  }
112
+  &:hover:after { background-color: lighten($nav-color, 20); }
113
+}
100 114
 .maskImage {
101
-  ul[role=subscription] { li, a { border: 0; padding: 0; }}
102
-  a[rel=subscribe-rss]{
103
-    position: relative; top: 0px;
104
-    width: image-width('rss.png');
105
-    height: image-height('rss.png');
106
-    @include mask-image('rss.png');
107
-    text-indent: -999999em;
108
-    background-color: $nav-border-right;
109
-    border: 0;
110
-    padding: 0;
111
-    &:hover:after { background-color: darken($nav-border-left, 10); }
112
-    &:after {
113
-      content: "";
114
-      @include mask-image('rss.png');
115
-      width: image-width('rss.png');
116
-      height: image-height('rss.png');
117
-      position: absolute; top: -1px; left: 0;
118
-      background-color: $nav-border-left;
115
+  body > nav {
116
+    @media only screen and (min-width: 550px) {
117
+      ul[data-subscription$=email] + form {
118
+        width: $sidebar-width-medium - $pad-medium*2 - $sidebar-pad-medium - 32px;
119
+      }
120
+    }
121
+    @media only screen and (min-width: 992px) {
122
+      ul[data-subscription$=email] + form {
123
+        width: $sidebar-width-wide - $pad-wide - $sidebar-pad-wide*2 - 32px;
124
+      }
119 125
     }
120 126
   }
127
+  ul[role=subscription] { li, a { border: 0; padding: 0; }}
128
+  a[rel=subscribe-rss]{ @include mask-subscription-nav('rss.png'); }
129
+  a[rel=subscribe-email]{ @include mask-subscription-nav('email.png'); }
121 130
 }
... ...
@@ -1,7 +1,7 @@
1
-<ul role="subscription">
2
-  <li><a href="{{ site.subscribe_rss }}" rel="subscribe-rss">RSS</a></li>
3
-  {% if site.subscribe_emai %}
4
-    <li><a href="{{ site.subscribe_email }}" rel="subscribe-email">Email</a></li>
1
+<ul role="subscription" data-subscription="rss{% if site.subscribe_email %} email{% endif %}">
2
+  <li><a href="{{ site.subscribe_rss }}" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
3
+  {% if site.subscribe_email %}
4
+    <li><a href="{{ site.subscribe_email }}" rel="subscribe-email" title="subscribe via email">Email</a></li>
5 5
   {% endif %}
6 6
 </ul>
7 7
 <form action="{{ site.simple_search }}" method="get">
8 8
new file mode 100644
9 9
Binary files /dev/null and b/themes/classic/source/images/email.png differ