mitlibraries-theme 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -1
  3. data/Rakefile +6 -8
  4. data/app/assets/config/mitlibraries_theme_manifest.js +1 -0
  5. data/app/assets/stylesheets/mitlibraries/theme/application.css +15 -0
  6. data/app/controllers/mitlibraries/theme/application_controller.rb +6 -0
  7. data/app/helpers/link_helper.rb +2 -0
  8. data/app/helpers/mitlibraries/theme/application_helper.rb +6 -0
  9. data/app/jobs/mitlibraries/theme/application_job.rb +6 -0
  10. data/app/mailers/mitlibraries/theme/application_mailer.rb +8 -0
  11. data/app/models/mitlibraries/theme/application_record.rb +7 -0
  12. data/app/views/layouts/_head.html.erb +1 -0
  13. data/app/views/layouts/application.html.erb +1 -1
  14. data/config/routes.rb +2 -0
  15. data/lib/mitlibraries/theme/engine.rb +11 -0
  16. data/lib/mitlibraries/theme/version.rb +1 -1
  17. data/lib/mitlibraries/theme.rb +2 -5
  18. data/lib/tasks/mitlibraries/theme_tasks.rake +4 -0
  19. metadata +29 -44
  20. data/.gitignore +0 -10
  21. data/CODE_OF_CONDUCT.md +0 -74
  22. data/Gemfile +0 -6
  23. data/Gemfile.lock +0 -167
  24. data/Makefile +0 -56
  25. data/bin/console +0 -14
  26. data/bin/setup +0 -8
  27. data/mitlibraries-theme.gemspec +0 -28
  28. data/vendor/assets/images/favicon.ico +0 -0
  29. data/vendor/assets/images/mitlib-wordmark.svg +0 -1
  30. data/vendor/assets/images/vi-shape7-tp.svg +0 -1
  31. data/vendor/assets/stylesheets/elements/_content.scss +0 -74
  32. data/vendor/assets/stylesheets/elements/_controls.scss +0 -156
  33. data/vendor/assets/stylesheets/elements/_footer.scss +0 -132
  34. data/vendor/assets/stylesheets/elements/_forms.scss +0 -151
  35. data/vendor/assets/stylesheets/elements/_header.scss +0 -93
  36. data/vendor/assets/stylesheets/elements/_modules.scss +0 -187
  37. data/vendor/assets/stylesheets/elements/_tables.scss +0 -112
  38. data/vendor/assets/stylesheets/global/_base.scss +0 -67
  39. data/vendor/assets/stylesheets/global/_helpers.scss +0 -161
  40. data/vendor/assets/stylesheets/global/_layouts.scss +0 -452
  41. data/vendor/assets/stylesheets/global/_shame.scss +0 -4
  42. data/vendor/assets/stylesheets/global/_typography.scss +0 -81
  43. data/vendor/assets/stylesheets/global/_unsets.scss +0 -29
  44. data/vendor/assets/stylesheets/global/_variables.scss +0 -120
  45. data/vendor/assets/stylesheets/global/_vendor-overrides.scss +0 -1
  46. data/vendor/assets/stylesheets/js-elements/_expand-collapse.scss +0 -35
  47. data/vendor/assets/stylesheets/libraries-main.scss +0 -39
@@ -1,452 +0,0 @@
1
- // layouts
2
-
3
- // base layout styles for everyone!
4
- .layout-band {
5
- @include clearfix;
6
- }
7
-
8
- .wrap-gridband,
9
- .wrap-notice,
10
- .wrap-header,
11
- .wrap-header-local,
12
- .wrap-breadcrumb,
13
- .wrap-content,
14
- .wrap-footer,
15
- .wrap-footer-institute {
16
- @include clearfix;
17
- max-width: 114rem;
18
- margin: 0 auto;
19
- padding: 10px 4%;
20
- }
21
-
22
- // generic grid options
23
-
24
- .gridband {
25
- @include clearfix;
26
-
27
- .grid-item {
28
- width: auto;
29
- float: none;
30
- }
31
-
32
- // 2-col generic with overflow
33
- &.layout-2c {
34
-
35
- @media (min-width: $bp-screen-md) {
36
- .grid-item {
37
- float: left;
38
- width: 48%;
39
- margin-right: 3%;
40
-
41
- &:nth-child(2n+0) {
42
- float: right;
43
- margin-right: 0;
44
- }
45
- }
46
- }
47
- }
48
-
49
- // 3-col generic with overflow
50
- &.layout-3c {
51
-
52
- @media (min-width: $bp-screen-md) {
53
- .grid-item {
54
- float: left;
55
- width: 32%;
56
- margin-right: 2%;
57
-
58
- &:nth-child(3n+3) {
59
- float: right;
60
- margin-right: 0;
61
- }
62
- }
63
- }
64
- }
65
-
66
- // 4-col generic with overflow
67
- &.layout-4c {
68
-
69
- @media (min-width: $bp-screen-md) {
70
- .grid-item {
71
- float: left;
72
- width: 23%;
73
- margin-right: 2%;
74
-
75
- &:nth-child(4n+4) {
76
- float: right;
77
- margin-right: 0;
78
- }
79
- }
80
- }
81
- }
82
- }
83
-
84
- // ----------------------------
85
- // #HEADER - global, slim, local
86
- // ----------------------------
87
-
88
- // simplified slim header for light branding
89
- .wrap-header {
90
-
91
- .header-slim {
92
-
93
- .logo-mit-lib img {
94
- height: 35px;
95
- }
96
- }
97
- }
98
-
99
- .wrap-header-core,
100
- .wrap-header-supp {
101
- display: inline-block;
102
- vertical-align: bottom;
103
- }
104
-
105
- .wrap-header-core {
106
- width: 65%;
107
- }
108
-
109
- .wrap-header-supp {
110
- width: 33%;
111
-
112
- .link-logo-mit {
113
- float: right;
114
- }
115
- }
116
-
117
- // local header
118
- .wrap-header-local {
119
-
120
- .wrap-local-nav {
121
- margin-top: 8px;
122
-
123
- .nav-item {
124
- @extend .button-subtle;
125
- display: inline-block;
126
- margin-right: 10px;
127
- font-size: $fs-small;
128
- text-decoration: none;
129
-
130
- &.current {
131
- border: 1px solid $brand-primary-accent;
132
- }
133
- }
134
- }
135
- }
136
-
137
- // ----------------------------
138
- // #CONTENT
139
- // ----------------------------
140
-
141
- .wrap-outer-content {
142
- background-color: $white-t;
143
- color: $black;
144
- }
145
-
146
- .wrap-content {
147
- padding-top: 3rem;
148
- padding-bottom: 2%;
149
-
150
- .content-main {
151
- padding-bottom: 3rem;
152
- }
153
- }
154
-
155
- // 3/4 - 1/4 2-column layout
156
- .layout-3q1q {
157
-
158
- @media (min-width: $bp-screen-md) {
159
-
160
- .col3q {
161
- float: left;
162
- width: 73%;
163
- }
164
-
165
- .col1q-r {
166
- float: right;
167
- width: 22%;
168
- margin-left: 3%
169
- }
170
- }
171
- }
172
-
173
- // 1/4 - 3/4 2-column layout
174
- .layout-1q3q {
175
-
176
- @media (min-width: $bp-screen-md) {
177
-
178
- .col1q {
179
- float: left;
180
- width: 22%;
181
- margin-right: 3%
182
- }
183
-
184
- .col3q {
185
- float: right;
186
- width: 73%;
187
- }
188
- }
189
- }
190
-
191
- // 1/4 - 1/2 - 1/4 3-column layout
192
- .layout-1q2q1q {
193
-
194
- @media (min-width: $bp-screen-md) {
195
-
196
- .col1q {
197
- float: left;
198
- width: 22%;
199
- margin-right: 3%
200
- }
201
-
202
- .content-main {
203
- float: left;
204
- width: 48%;
205
- margin-right: 3%
206
- }
207
-
208
- .col1q-r {
209
- float: right;
210
- width: 22%;
211
- }
212
- }
213
- }
214
-
215
- // 1/3 - 2/3 2-column layout
216
- .layout-1t2t {
217
-
218
- @media (min-width: $bp-screen-md) {
219
- display: flex;
220
-
221
- .col1t {
222
- float: left;
223
- width: 33%;
224
- margin-right: 3%
225
- }
226
-
227
- .col2t {
228
- float: right;
229
- width: 63%;
230
- }
231
- }
232
- }
233
-
234
- // 2/3 - 1/3 2-column layout
235
- .layout-2t1t {
236
-
237
- @media (min-width: $bp-screen-md) {
238
- display: flex;
239
-
240
- .col2t {
241
- float: left;
242
- width: 63%;
243
- margin-right: 3%
244
- }
245
-
246
- .col1t-r {
247
- float: right;
248
- width: 33%;
249
- }
250
- }
251
- }
252
-
253
-
254
-
255
- // ----------------------------
256
- // #FOOTER - base and full
257
- // ----------------------------
258
-
259
- .wrap-footer {
260
- padding: 3.5rem 4%;
261
-
262
- .wrap-sitemap {
263
-
264
- // hide the sub menu items on small screens
265
- .menu-sub {
266
- display: none;
267
- }
268
- }
269
-
270
- .identity {
271
- margin-top: 4rem;
272
- margin-bottom: 2rem;
273
- }
274
-
275
- .wrap-logo-lib {
276
- display: inline-block;
277
- vertical-align: bottom;
278
- margin: 0 20px 20px 0;
279
- }
280
-
281
- .wrap-social {
282
- display: inline-block;
283
- vertical-align: bottom;
284
- margin-bottom: 20px;
285
- }
286
-
287
- .wrap-policies {
288
- width: 100%;
289
- border-top: 1px solid $gray;
290
- padding-top: 2rem;
291
-
292
- span {
293
- display: inline-block;
294
- margin: 1rem 1.5rem 1rem 0;
295
-
296
- &.item {
297
- margin-right: 0;
298
- }
299
-
300
- &:after {
301
- content:'';
302
- }
303
- }
304
- }
305
-
306
- .wrap-social .text-find-us {
307
- display: none;
308
- }
309
-
310
- // bigger than small mobile - able to handle columns ok
311
- @media (min-width: $bp-screen-md) {
312
-
313
- .wrap-sitemap {
314
- display: flex;
315
- flex-direction: row;
316
-
317
- .col {
318
- margin-right: 3%;
319
-
320
- &:last-child {
321
- margin-right: 0;
322
- }
323
- }
324
-
325
- .menu-sub {
326
- display: block;
327
- }
328
- }
329
-
330
- .identity {
331
- display: flex;
332
- flex-wrap: wrap;
333
- justify-content: space-between;
334
- margin: 4% 0 0 0;
335
- }
336
-
337
- .wrap-logo-lib,
338
- .wrap-policies,
339
- .wrap-social {
340
- align-self: flex-end;
341
- margin-top: 0;
342
- margin-bottom: 0;
343
- }
344
-
345
- .wrap-logo-lib {
346
- order: 1;
347
- margin-right: 4%;
348
- }
349
-
350
- .wrap-policies {
351
- order: 2;
352
- padding: auto;
353
- border-top: none;
354
- width: auto;
355
-
356
- span {
357
- margin-top: 0;
358
- margin-bottom: 0;
359
- }
360
- }
361
-
362
- .wrap-social {
363
- order: 3;
364
- margin-left: auto;
365
- }
366
- }
367
-
368
- // large screen - able to handle several inline items
369
- @media (min-width: $bp-screen-lg) {
370
-
371
- .wrap-social {
372
- order: 3;
373
- }
374
-
375
- .wrap-policies {
376
- order: 2;
377
- }
378
-
379
- }
380
- }
381
-
382
- // footer - adjustments for slim
383
- .wrap-footer.footer-slim {
384
- padding: 1.5rem 4%;
385
-
386
- .wrap-middle {
387
- order: 2;
388
- display: flex;
389
- flex: 1; // No other element gets a value, forcing this element to be greedy in its sizing
390
- flex-direction: column;
391
- align-items: flex-start;
392
-
393
- .wrap-policies {
394
- align-self: flex-start; // This overrides the flex-end applicable to vertial alignment in full footer.
395
- }
396
-
397
- .wrap-sitemap {
398
- display: inline-block;
399
- margin-bottom: 2rem;
400
-
401
- .item {
402
- display: block;
403
- margin-right: 10px;
404
- margin-bottom: 5px;
405
- }
406
- }
407
- }
408
-
409
-
410
- // larger screen - able to handle several inline items
411
- @media (min-width: $bp-screen-md) {
412
-
413
- .wrap-middle {
414
- order: 2;
415
-
416
- .wrap-policies {
417
- margin-left: 2%;
418
- order: 2;
419
- }
420
-
421
- .wrap-sitemap {
422
- display: inline-block;
423
- margin-left: 2%;
424
- margin-bottom: auto;
425
- order: 1;
426
-
427
- .item {
428
- display: inline-block;
429
- margin-bottom: auto;
430
- }
431
- }
432
- }
433
-
434
- .wrap-social {
435
- order: 3;
436
- }
437
- }
438
-
439
- @media (min-width: $bp-screen-lg) {
440
- .wrap-policies {
441
- }
442
-
443
- .wrap-sitemap {
444
- }
445
- }
446
- }
447
-
448
- // mit institute footer
449
- .wrap-footer-institute {
450
- padding: 20px 4%;
451
- }
452
-
@@ -1,4 +0,0 @@
1
- // remove the forms required asterisk abbr underline
2
- abbr.required {
3
- text-decoration: none;
4
- }
@@ -1,81 +0,0 @@
1
- // general typography helpers
2
-
3
- // headers
4
- .hd-1 {
5
- margin-bottom: .5em;
6
- font-size: $fs-xxxlarge;
7
- line-height: $lh-tight;
8
- font-weight: $fw-bold;
9
- }
10
-
11
- .hd-2 {
12
- margin-bottom: .5em;
13
- font-size: $fs-xxlarge;
14
- line-height: $lh-tight;
15
- font-weight: $fw-bold;
16
- }
17
-
18
- .hd-3 {
19
- margin-bottom: .5em;
20
- font-size: $fs-xlarge;
21
- line-height: $lh-tight;
22
- font-weight: $fw-normal;
23
- }
24
-
25
- .hd-4 {
26
- margin-bottom: .5em;
27
- font-size: $fs-large;
28
- line-height: $lh-tight;
29
- font-weight: $fw-bold;
30
- }
31
-
32
- .hd-5 {
33
- margin-bottom: .5em;
34
- font-size: $fs-base;
35
- line-height: $lh-tight;
36
- font-weight: $fw-bold;
37
- }
38
-
39
- .hd-6 {
40
- margin-bottom: .5em;
41
- font-size: $fs-base;
42
- line-height: $lh-tight;
43
- font-weight: $fw-bold;
44
- }
45
-
46
- .hd-subtitle1 {
47
- margin-bottom: .5em;
48
- font-size: $fs-base;
49
- text-transform: uppercase;
50
- }
51
-
52
- .hd-subtitle2 {
53
- margin-bottom: .5em;
54
- font-size: $fs-small;
55
- text-transform: uppercase;
56
- }
57
-
58
- .hd-subtitle3 {
59
- margin-bottom: .5em;
60
- font-size: $fs-xsmall;
61
- text-transform: uppercase;
62
- }
63
-
64
- // copy
65
-
66
- .copy-lead {
67
- font-size: $fs-xlarge;
68
- }
69
-
70
- .copy-base {
71
- font-size: $fs-base;
72
- }
73
-
74
- .copy-sup {
75
- font-size: $fs-xsmall;
76
- }
77
-
78
- .copy-micro {
79
- font-size: $fs-xxsmall;
80
- font-weight: $fw-normal;
81
- }
@@ -1,29 +0,0 @@
1
- // clear base browser styling
2
-
3
- h1, h2, h3, h4, h5, h6 {
4
- margin: 0;
5
- font-weight: normal;
6
- font-size: 1rem;
7
- line-height: 1;
8
- }
9
-
10
- p,
11
- ol,
12
- ul,
13
- dl {
14
- margin: 0 0 1em 0;
15
- }
16
-
17
- img {
18
- max-width: 100%;
19
- vertical-align: middle;
20
- }
21
-
22
- a {
23
- text-decoration: none;
24
- }
25
-
26
- input[type=checkbox],
27
- input[type=radio] {
28
- margin-right: .5rem;
29
- }
@@ -1,120 +0,0 @@
1
-
2
- // ----------------------------
3
- // #SETTINGS
4
- // ----------------------------
5
- $image-path: '/dest/i' !default;
6
-
7
- // ----------------------------
8
- // #GRID
9
- // ----------------------------
10
-
11
- // grid - breakpoints
12
- $bp-screen-sm: 480px;
13
- $bp-screen-md: 768px;
14
- $bp-screen-lg: 1024px;
15
- $bp-screen-xl: 1280px;
16
-
17
-
18
- // ----------------------------
19
- // #COLORS
20
- // ----------------------------
21
-
22
- // NOTE: if updating color variables, you should also update
23
- // the guide helper scss and the examples file;
24
-
25
- // colors - grayscale
26
- $black: #000;
27
- $black-t: #000; // true black
28
- $white: #fff;
29
- $white-warm: #ede8e2;
30
- $white-t: #fff; // true white
31
- $gray: #595959; // accessible on #f3f3f3
32
- $gray-d1: #333;
33
- $gray-d2: #222;
34
- $gray-l1: #767676; // accessible on #fff
35
- $gray-l2: #ccc;
36
- $gray-l3: #dedede;
37
- $gray-l4: #f3f3f3;
38
- $gray-warm: #c6b6a3;
39
- $transparent: rgba(0, 0, 0, 0); // transparent black
40
- $transparent-w: rgba(255,255,255,0); // transparent white
41
- $glare: rgba($white-t, .3);
42
- $shadow: rgba($black-t, .5);
43
- $smoke: rgba($gray, .3);
44
- $wisp: rgba($gray, .1);
45
-
46
- // pentagram colors - named
47
- $magenta: #FF00FF;
48
- $red: #FF0000;
49
- $orange: #FF7700;
50
- $yellow: #FFC800;
51
- $green: #00C800;
52
- $blue: #0000FF;
53
- $blue-bright: #00C8FF;
54
-
55
- // pentagram colors secondary
56
- $magenta-muted: #C702C7;
57
- $red-muted: #D50606;
58
- $orange-muted: #E46212;
59
- $yellow-muted: #FFC422;
60
- $green-muted: #008700;
61
- $blue-muted: #1A1A83;
62
- $blue-bright-muted: #04A6CF;
63
-
64
-
65
- // colors - brand
66
- $brand-primary: $black;
67
- $brand-primary-accent: $blue;
68
- $brand-primary2: $blue-bright; // accessible on dark
69
- $brand-secondary: $magenta-muted;
70
-
71
- // colors - utilities
72
- $success: $green-muted;
73
- $warning: $yellow;
74
- $error: $red-muted;
75
- $informational: $gray;
76
-
77
-
78
- // ----------------------------
79
- // #TYPOGRAPHY
80
- // ----------------------------
81
-
82
- $base-font: 'Helvetica Neue', Helvetica, Arial, 'Open Sans', sans-serif;
83
- $alt-fonts: 'Georgia', Cambria, 'Times New Roman', Times, serif;
84
-
85
- // font-sizes and line-heights
86
- $fs-xxxsmall: .9rem;
87
- $fs-xxsmall: 1rem;
88
- $fs-xsmall: 1.2rem;
89
- $fs-smallish: 1.3rem;
90
- $fs-small: 1.4rem;
91
- $fs-base: 1.6rem;
92
- $fs-large: 2.0rem;
93
- $fs-xlarge: 2.6rem;
94
- $fs-xxlarge: 3.2rem;
95
- $fs-xxxlarge: 4.2rem;
96
- $fs-xxxxlarge: 4.8rem;
97
-
98
- $fw-bold: 600;
99
- $fw-normal: 400;
100
- $fw-light: 300;
101
-
102
- $lh-xtight: .92;
103
- $lh-tight: 1;
104
- $lh-base: 1.2;
105
- $lh-loose: 1.5;
106
- $lh-xloose: 1.7;
107
-
108
-
109
- // ----------------------------
110
- // #DEPTH
111
- // ----------------------------
112
-
113
- $z-depth-way-back: -1000;
114
- $z-depth-back: -100;
115
- $z-depth-lil-back: -10;
116
- $z-depth-base: 1;
117
- $z-depth-lil-front: 10;
118
- $z-depth-front: 100;
119
- $z-depth-way-front: 1000;
120
-
@@ -1 +0,0 @@
1
- // Styles needed to override vendor stuff
@@ -1,35 +0,0 @@
1
- .no-js {
2
- .expand-collapse-control {
3
- display: none;
4
- }
5
- }
6
-
7
- .js {
8
- .expand-collapse-wrap {
9
- position: relative;
10
- overflow: hidden;
11
- margin-bottom: 2rem;
12
- padding-bottom: 2rem;
13
- transition: height 200ms;
14
- }
15
-
16
- .expand-container {
17
- margin-bottom: 4rem;
18
- }
19
-
20
- .expand-collapse-control {
21
- position: absolute;
22
- bottom: 0;
23
- left: 0;
24
- width: 100%;
25
- margin: 0;
26
- padding: 4rem .5rem .5rem .5rem;
27
- background: #fff; // fallback
28
- background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #f3f3f3 50%);
29
-
30
- .button {
31
- @extend %unbutton;
32
- @extend .button-secondary;
33
- }
34
- }
35
- }