bookends 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bookends/jekyll_handler.rb +2 -0
  3. data/lib/bookends/version.rb +1 -1
  4. metadata +1 -31
  5. data/fixtures/dummy-jekyll/README.md +0 -64
  6. data/fixtures/dummy-jekyll/_config.yml +0 -8
  7. data/fixtures/dummy-jekyll/_layouts/default.html +0 -118
  8. data/fixtures/dummy-jekyll/_layouts/post.html +0 -14
  9. data/fixtures/dummy-jekyll/_sass/_base.scss +0 -478
  10. data/fixtures/dummy-jekyll/_sass/_google-cse.scss +0 -372
  11. data/fixtures/dummy-jekyll/_sass/_header.scss +0 -780
  12. data/fixtures/dummy-jekyll/_sass/_legacy.scss +0 -567
  13. data/fixtures/dummy-jekyll/_sass/_menu-icon.scss +0 -68
  14. data/fixtures/dummy-jekyll/_sass/_mixins.scss +0 -12
  15. data/fixtures/dummy-jekyll/_sass/_search.scss +0 -51
  16. data/fixtures/dummy-jekyll/_sass/bookends/_footer.scss +0 -390
  17. data/fixtures/dummy-jekyll/_sass/mixins/_background-image.scss +0 -48
  18. data/fixtures/dummy-jekyll/_sass/mixins/_border-radius.scss +0 -22
  19. data/fixtures/dummy-jekyll/_sass/mixins/_box-sizing.scss +0 -4
  20. data/fixtures/dummy-jekyll/_sass/mixins/_hide-text.scss +0 -5
  21. data/fixtures/dummy-jekyll/_sass/mixins/_hidpi.scss +0 -10
  22. data/fixtures/dummy-jekyll/_sass/mixins/_linear-gradient.scss +0 -41
  23. data/fixtures/dummy-jekyll/_sass/mixins/_prefixer.scss +0 -49
  24. data/fixtures/dummy-jekyll/_sass/mixins/_responsiveness.scss +0 -129
  25. data/fixtures/dummy-jekyll/_sass/mixins/_retina-image.scss +0 -31
  26. data/fixtures/dummy-jekyll/_sass/mixins/_size.scss +0 -44
  27. data/fixtures/dummy-jekyll/_sass/mixins/_transition.scss +0 -34
  28. data/fixtures/dummy-jekyll/_sass/mixins/_triangle.scss +0 -45
  29. data/fixtures/dummy-jekyll/app.json +0 -15
  30. data/fixtures/dummy-jekyll/bin/from-gdoc +0 -3
  31. data/fixtures/dummy-jekyll/bin/platform-setup +0 -15
  32. data/fixtures/dummy-jekyll/feed.xml +0 -34
  33. data/fixtures/dummy-jekyll/index.html +0 -40
  34. data/fixtures/dummy-jekyll/static.json +0 -3
@@ -1,390 +0,0 @@
1
- #heroku-footer {
2
- #bookends-website { //honeypot
3
- position: absolute;
4
- left: -9999px;
5
- }
6
-
7
- .hide {
8
- display: none;
9
- }
10
-
11
- $asset-path: 'bookends/footer';
12
-
13
- $footer-width: 94%;
14
- $footer-max-width: 1060px;
15
-
16
- $color-header: #211746;
17
- $color-purple: #6e5baa;
18
- $color-link: #999;
19
- $color-background: #f0f0f0;
20
- $color-border: darken($color-background, 10%);
21
-
22
- $threshold-tablet: 900px;
23
- $threshold-mobile: 700px;
24
-
25
- @mixin hidpi($ratio: 1.3) {
26
- @media only screen and (-webkit-min-device-pixel-ratio: $ratio),
27
- only screen and (min--moz-device-pixel-ratio: $ratio),
28
- only screen and (-o-min-device-pixel-ratio: #{$ratio}/1),
29
- only screen and (min-resolution: #{round($ratio*96)}dpi),
30
- only screen and (min-resolution: #{$ratio}dppx) {
31
- @content;
32
- }
33
- }
34
-
35
- @mixin hide-text {
36
- color: transparent;
37
- font: 0/0 a;
38
- text-shadow: none;
39
- }
40
-
41
- @mixin screen($threshold: max-width, $screen: $threshold-tablet) {
42
- @media ($threshold: $screen) {
43
- @content;
44
- }
45
- }
46
-
47
- @mixin clearfix {
48
- *zoom: 1;
49
-
50
- &:before,
51
- &:after {
52
- content: " ";
53
- display: table;
54
- }
55
-
56
- &:after {
57
- clear: both;
58
- }
59
- }
60
-
61
- padding-top: 15px;
62
- background: $color-background;
63
- box-shadow: 0 1px 1px 0 fade-out($color-background, .9) inset;
64
- font-size: 13px;
65
- color: #999;
66
- line-height: 1.8em;
67
- -webkit-font-smoothing: antialiased;
68
-
69
- * {
70
- @include box-sizing(border-box);
71
- }
72
-
73
- .wrapper {
74
- @include clearfix();
75
- position: relative;
76
- width: $footer-width;
77
- max-width: $footer-max-width;
78
- padding: 2em 0;
79
- margin: 0 auto;
80
- }
81
-
82
- a:link,
83
- a:visited {
84
- color: $color-link;
85
- text-decoration: none;
86
- }
87
-
88
- a:hover,
89
- a:active {
90
- color: darken($color-link, 30%);
91
- }
92
-
93
- ul {
94
- list-style: none;
95
- padding-left: 0;
96
- font-weight: 200;
97
- }
98
-
99
- h1,
100
- h2,
101
- h3,
102
- h4,
103
- h5 {
104
- line-height: 1.1em;
105
- padding: 0;
106
- }
107
-
108
- h3 {
109
- color: $color-purple;
110
- font-size: 14px;
111
- font-weight: 500;
112
- }
113
-
114
- h4 {
115
- margin: 1.33em 0;
116
- font-size: 12px;
117
- text-align: left;
118
- font-weight: bold;
119
- text-transform: uppercase;
120
- letter-spacing: .1em;
121
- color: $color-header;
122
-
123
- @include screen($screen: $threshold-mobile) {
124
- text-align: center;
125
- }
126
- }
127
-
128
- .tertiary {
129
- background: fade-out(white, .6);
130
- @include screen() {
131
- text-align: center;
132
- }
133
-
134
- a:link,
135
- a:visited {
136
- text-decoration: underline;
137
- }
138
-
139
- .col {
140
- width: 50%;
141
- }
142
- }
143
-
144
- .col {
145
- display: block;
146
- float: left;
147
-
148
- ul {
149
- margin: 1em 0;
150
- }
151
-
152
- li {
153
- margin: 0;
154
- }
155
- }
156
-
157
- .wrapper {
158
-
159
- .col {
160
- @include screen() {
161
- float: none;
162
- width: 100%;
163
- }
164
- }
165
- }
166
-
167
- .heroku-footer-links {
168
- @include clearfix();
169
- width: 70%;
170
-
171
- .col {
172
- width: 25%;
173
- padding-right: 2%;
174
- @include screen($screen: $threshold-mobile) {
175
- width: auto;
176
- padding-right: 0;
177
- text-align: center;
178
- }
179
- }
180
- }
181
-
182
- .heroku-footer-social {
183
- width: 30%;
184
- @include screen() {
185
- border-top: 1px solid $color-border;
186
- text-align: center;
187
- margin-top: 30px;
188
- padding-top: 10px;
189
- }
190
-
191
- h3 {
192
- margin: 7px 0 15px;
193
- text-align: left;
194
- span {
195
- margin-right: 6px;
196
- top: 4px;
197
- }
198
- }
199
-
200
- #bookends-newsletter {
201
- $input-height: 40px;
202
-
203
- position: relative;
204
- width: 100%;
205
- padding-bottom: 10px;
206
- @include screen(min-width, $threshold-tablet) {
207
- border-bottom: 1px solid $color-border;
208
- }
209
-
210
- input[type="text"],
211
- input[type="email"], {
212
- -webkit-appearance: none;
213
- width: 100%;
214
- height: $input-height;
215
- padding: 0 10px;
216
- border-radius: 4px;
217
- border: 1px solid $color-border;
218
- box-shadow: 0 0 4px fade-out($color-purple, 1);
219
- transition: all .2s ease;
220
- -webkit-transition: all .2s ease;
221
-
222
- &:focus {
223
- outline: none;
224
- box-shadow: 0 0 4px fade-out($color-purple, .5);
225
- border-color: $color-purple;
226
- }
227
- }
228
-
229
- input[type="submit"] {
230
- -webkit-appearance: none;
231
- position: absolute;
232
- top: 0;
233
- right: 0;
234
- margin: 5px;
235
- width: $input-height;
236
- height: ($input-height - 10);
237
- border: 0;
238
- background-color: $color-purple;
239
- border-radius: 3px;
240
- text-transform: uppercase;
241
- letter-spacing: .05em;
242
- font-weight: bold;
243
- text-align: center;
244
- color: #fff;
245
-
246
- &:focus {
247
- outline: none;
248
- border: 1px solid fade-out($color-purple, .5);
249
- }
250
-
251
- &:hover {
252
- background-color: darken($color-purple, 5%);
253
- }
254
- }
255
-
256
- p {
257
- margin: 6px 0;
258
- padding: 8px;
259
- border-radius: 3px;
260
- font-size: 11px;
261
- text-align: left;
262
- background-color: #fff;
263
- height: $input-height;
264
-
265
- &.error {
266
- background-color: tomato;
267
- }
268
- }
269
- }
270
-
271
- .social-list {
272
- margin: 0;
273
- li {
274
- display: inline-block;
275
- margin-right: 5px;
276
- }
277
- }
278
-
279
- iframe {
280
- position: relative;
281
- width: 100%;
282
- margin: 0;
283
-
284
- @include screen(min-width, $threshold-tablet) {
285
- border-bottom: 1px solid $color-border;
286
- }
287
- }
288
-
289
- }
290
-
291
- .tertiary {
292
- p {
293
- margin: 1em 0;
294
- padding: 0;
295
- font-size: 13px;
296
- color: #999;
297
- }
298
- ul {
299
- margin: 13px 0 10px;
300
- float: right;
301
- @include screen() {
302
- float: none;
303
- }
304
- }
305
-
306
- li {
307
- display: inline-block;
308
- margin-right: 7px;
309
- @include screen() {
310
- &:last-child {
311
- margin-right: 0;
312
- }
313
- }
314
- a {
315
- display: block;
316
- }
317
- }
318
- }
319
-
320
- .sfdc-heroku-logo {
321
- @include hide-text;
322
- display: block;
323
- float: left;
324
- width: 142px;
325
- height: 54px;
326
- margin-right: 18px;
327
- background-image: asset-url("#{$asset-path}/salesforce_heroku_gray.png");
328
- background-size: 100%;
329
- @include screen() {
330
- display: inline-block;
331
- float: none;
332
- margin-right: 0;
333
- }
334
- }
335
-
336
- //Icons
337
- [class^="heroku-footer-icon-"] {
338
- position: relative;
339
- display: inline-block;
340
- width: 21px;
341
- height: 21px;
342
- background-color: transparent;
343
- background-repeat: no-repeat;
344
- background-image: asset-url("#{$asset-path}/footer_sprite.png");
345
- @include hide-text;
346
- @include hidpi {
347
- background-image: asset-url("#{$asset-path}/footer_sprite@2x.png");
348
- background-size: 200px 100px;
349
- }
350
- }
351
-
352
- //Icon array (class, background position x, y)
353
- $icons: (rss 0 0,
354
- twitter -21px 0,
355
- facebook -42px 0,
356
- github -63px 0,
357
- vimeo -84px 0,
358
- linkedin -105px 0,
359
- newsletter -21px -63px,
360
- submit 0 -42px
361
- );
362
-
363
- //Each loop to create classes
364
- .heroku-footer-icon {
365
- @each $var in $icons {
366
- &-#{nth($var, 1)} {
367
- background-position: #{nth($var, 2)} #{nth($var, 3)};
368
- }
369
- }
370
- }
371
-
372
- //Hover state for social links
373
- .social-list .heroku-footer-icon {
374
- @each $var in $icons {
375
- &-#{nth($var, 1)} {
376
- &:hover {
377
- background-position: #{nth($var, 2)} -21px;
378
- }
379
- }
380
- }
381
- }
382
-
383
- .heroku-footer-icon-submit {
384
- top: -8px;
385
- &:hover {
386
- background-position: 0 -63px;
387
- }
388
- }
389
-
390
- }
@@ -1,48 +0,0 @@
1
- //************************************************************************//
2
- // Background-image property for adding multiple background images with
3
- // gradients, or for stringing multiple gradients together.
4
- //************************************************************************//
5
-
6
- @mixin background-image($images...) {
7
- background-image: _add-prefix($images, webkit);
8
- background-image: _add-prefix($images);
9
- }
10
-
11
- @function _add-prefix($images, $vendor: false) {
12
- $images-prefixed: ();
13
- $gradient-positions: false;
14
- @for $i from 1 through length($images) {
15
- $type: type-of(nth($images, $i)); // Get type of variable - List or String
16
-
17
- // If variable is a list - Gradient
18
- @if $type == list {
19
- $gradient-type: nth(nth($images, $i), 1); // linear or radial
20
- $gradient-pos: null;
21
- $gradient-args: null;
22
-
23
- @if ($gradient-type == linear) or ($gradient-type == radial) {
24
- $gradient-pos: nth(nth($images, $i), 2); // Get gradient position
25
- $gradient-args: nth(nth($images, $i), 3); // Get actual gradient (red, blue)
26
- }
27
- @else {
28
- $gradient-args: nth(nth($images, $i), 2); // Get actual gradient (red, blue)
29
- }
30
-
31
- $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
32
- $gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
33
- $images-prefixed: append($images-prefixed, $gradient, comma);
34
- }
35
- // If variable is a string - Image
36
- @else if $type == string {
37
- $images-prefixed: join($images-prefixed, nth($images, $i), comma);
38
- }
39
- }
40
- @return $images-prefixed;
41
- }
42
-
43
- //Examples:
44
- //@include background-image(linear-gradient(top, orange, red));
45
- //@include background-image(radial-gradient(50% 50%, cover circle, orange, red));
46
- //@include background-image(url("/images/a.png"), linear-gradient(orange, red));
47
- //@include background-image(url("image.png"), linear-gradient(orange, red), url("image.png"));
48
- //@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red));
@@ -1,22 +0,0 @@
1
- //************************************************************************//
2
- // Shorthand Border-radius mixins
3
- //************************************************************************//
4
- @mixin border-top-radius($radii) {
5
- @include prefixer(border-top-left-radius, $radii, spec);
6
- @include prefixer(border-top-right-radius, $radii, spec);
7
- }
8
-
9
- @mixin border-bottom-radius($radii) {
10
- @include prefixer(border-bottom-left-radius, $radii, spec);
11
- @include prefixer(border-bottom-right-radius, $radii, spec);
12
- }
13
-
14
- @mixin border-left-radius($radii) {
15
- @include prefixer(border-top-left-radius, $radii, spec);
16
- @include prefixer(border-bottom-left-radius, $radii, spec);
17
- }
18
-
19
- @mixin border-right-radius($radii) {
20
- @include prefixer(border-top-right-radius, $radii, spec);
21
- @include prefixer(border-bottom-right-radius, $radii, spec);
22
- }
@@ -1,4 +0,0 @@
1
- @mixin box-sizing ($box) {
2
- // content-box | border-box | inherit
3
- @include prefixer(box-sizing, $box, webkit moz spec);
4
- }
@@ -1,5 +0,0 @@
1
- @mixin hide-text {
2
- color: transparent;
3
- font: 0/0 a;
4
- text-shadow: none;
5
- }
@@ -1,10 +0,0 @@
1
- // HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/)
2
- @mixin hidpi($ratio: 1.3) {
3
- @media only screen and (-webkit-min-device-pixel-ratio: $ratio),
4
- only screen and (min--moz-device-pixel-ratio: $ratio),
5
- only screen and (-o-min-device-pixel-ratio: #{$ratio}/1),
6
- only screen and (min-resolution: #{round($ratio*96)}dpi),
7
- only screen and (min-resolution: #{$ratio}dppx) {
8
- @content;
9
- }
10
- }
@@ -1,41 +0,0 @@
1
- @mixin linear-gradient($pos, $G1, $G2: false,
2
- $G3: false, $G4: false,
3
- $G5: false, $G6: false,
4
- $G7: false, $G8: false,
5
- $G9: false, $G10: false,
6
- $deprecated-pos1: left top,
7
- $deprecated-pos2: left bottom,
8
- $fallback: false) {
9
- // Detect what type of value exists in $pos
10
- $pos-type: type-of(nth($pos, 1));
11
- $pos-spec: null;
12
- $pos-degree: null;
13
-
14
- // If $pos is missing from mixin, reassign vars and add default position
15
- @if ($pos-type == color) or (nth($pos, 1) == "transparent") {
16
- $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;
17
- $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;
18
- $pos: null;
19
- }
20
-
21
- @if $pos {
22
- $positions: _linear-positions-parser($pos);
23
- $pos-degree: nth($positions, 1);
24
- $pos-spec: nth($positions, 2);
25
- }
26
-
27
- $full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
28
-
29
- // Set $G1 as the default fallback color
30
- $fallback-color: nth($G1, 1);
31
-
32
- // If $fallback is a color use that color as the fallback color
33
- @if (type-of($fallback) == color) or ($fallback == "transparent") {
34
- $fallback-color: $fallback;
35
- }
36
-
37
- background-color: $fallback-color;
38
- background-image: _deprecated-webkit-gradient(linear, $deprecated-pos1, $deprecated-pos2, $full); // Safari <= 5.0
39
- background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome
40
- background-image: unquote("linear-gradient(#{$pos-spec}#{$full})");
41
- }
@@ -1,49 +0,0 @@
1
- //************************************************************************//
2
- // Example: @include prefixer(border-radius, $radii, webkit ms spec);
3
- //************************************************************************//
4
- $prefix-for-webkit: true !default;
5
- $prefix-for-mozilla: true !default;
6
- $prefix-for-microsoft: true !default;
7
- $prefix-for-opera: true !default;
8
- $prefix-for-spec: true !default; // required for keyframe mixin
9
-
10
- @mixin prefixer ($property, $value, $prefixes) {
11
- @each $prefix in $prefixes {
12
- @if $prefix == webkit {
13
- @if $prefix-for-webkit {
14
- -webkit-#{$property}: $value;
15
- }
16
- }
17
- @else if $prefix == moz {
18
- @if $prefix-for-mozilla {
19
- -moz-#{$property}: $value;
20
- }
21
- }
22
- @else if $prefix == ms {
23
- @if $prefix-for-microsoft {
24
- -ms-#{$property}: $value;
25
- }
26
- }
27
- @else if $prefix == o {
28
- @if $prefix-for-opera {
29
- -o-#{$property}: $value;
30
- }
31
- }
32
- @else if $prefix == spec {
33
- @if $prefix-for-spec {
34
- #{$property}: $value;
35
- }
36
- }
37
- @else {
38
- @warn "Unrecognized prefix: #{$prefix}";
39
- }
40
- }
41
- }
42
-
43
- @mixin disable-prefix-for-all() {
44
- $prefix-for-webkit: false;
45
- $prefix-for-mozilla: false;
46
- $prefix-for-microsoft: false;
47
- $prefix-for-opera: false;
48
- $prefix-for-spec: false;
49
- }
@@ -1,129 +0,0 @@
1
- @mixin screen($threshold: max-width, $screen: 1080px) {
2
- @media ($threshold: $screen) {
3
- @content;
4
- }
5
- }
6
-
7
- @mixin desktop {
8
- @media (min-width: $tablet-threshold + 1) {
9
- @content;
10
- }
11
- }
12
-
13
- @mixin mobile {
14
- @media (max-width: $mobile-threshold) {
15
- @content;
16
- }
17
- }
18
-
19
- @mixin mobile-landscape {
20
- @media (max-width: $mobile-landscape-threshold) {
21
- @content;
22
- }
23
- }
24
-
25
- @mixin tablet {
26
- @media (max-width: $tablet-threshold) {
27
- @content;
28
- }
29
- }
30
-
31
- @mixin tablet-landscape {
32
- @media (max-width: $tablet-landscape-threshold) {
33
- @content;
34
- }
35
- }
36
-
37
- @mixin large-screen {
38
- @media (min-width: $large-screen-threshold) {
39
- @content;
40
- }
41
- }
42
-
43
- @mixin screen-max-height($screen-height: 750px) {
44
- @media (max-height: $screen-height) {
45
- @content;
46
- }
47
- }
48
-
49
- @mixin columns(
50
- $desktop: $tartan-column-count,
51
- $tablet: "",
52
- $mobile: ""
53
- ) {
54
- @include tartan-span-columns($desktop);
55
-
56
- @if ($desktop == 1) {
57
- &:nth-child(12n + 12) { @include tartan-omega; }
58
- }
59
-
60
- @if ($desktop == 2) {
61
- &:nth-child(6n + 6) { @include tartan-omega; }
62
- }
63
-
64
- @if ($desktop == 3) {
65
- &:nth-child(4n + 4) { @include tartan-omega; }
66
- }
67
-
68
- @if ($desktop == 4) {
69
- &:nth-child(3n + 3) { @include tartan-omega; }
70
- }
71
-
72
- @if ($desktop == 6) {
73
- &:nth-child(even) { @include tartan-omega; }
74
- }
75
-
76
- @if ($tablet != "") {
77
- @include tablet {
78
- &:nth-child(n) { @include tartan-no-omega } // Specificity
79
- @include tartan-span-columns($tablet);
80
-
81
- @if ($tablet == 1) {
82
- &:nth-child(12n + 12) { @include tartan-omega; }
83
- }
84
-
85
- @if ($tablet == 2) {
86
- &:nth-child(6n + 6) { @include tartan-omega; }
87
- }
88
-
89
- @if ($tablet == 3) {
90
- &:nth-child(4n + 4) { @include tartan-omega; }
91
- }
92
-
93
- @if ($tablet == 4) {
94
- &:nth-child(3n + 3) { @include tartan-omega; }
95
- }
96
-
97
- @if ($tablet == 6) {
98
- &:nth-child(2n + 2) { @include tartan-omega; }
99
- }
100
- }
101
- }
102
-
103
- @if ($mobile != "") {
104
- @include mobile-landscape {
105
- &:nth-child(n) { @include tartan-no-omega } // Specificity
106
- @include tartan-span-columns($mobile);
107
-
108
- @if ($mobile == 1) {
109
- &:nth-child(12n + 12) { @include tartan-omega; }
110
- }
111
-
112
- @if ($mobile == 2) {
113
- &:nth-child(6n + 6) { @include tartan-omega; }
114
- }
115
-
116
- @if ($mobile == 3) {
117
- &:nth-child(4n + 4) { @include tartan-omega; }
118
- }
119
-
120
- @if ($mobile == 4) {
121
- &:nth-child(3n + 3) { @include tartan-omega; }
122
- }
123
-
124
- @if ($mobile == 6) {
125
- &:nth-child(even) { @include tartan-omega; }
126
- }
127
- }
128
- }
129
- }