jekyll-theme-open-project 1.3.4 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,15 +6,14 @@ $code-listing-background-color: rgba($main-font-color, 0.03);
6
6
  $code-listing-border-color: lighten($main-font-color, 70);
7
7
 
8
8
  $primary-color: lightblue !default;
9
- $primary-dark-color: navy !default;
9
+ $primary-dark-color: $primary-color !default;
10
10
  $accent-color: red !default;
11
11
 
12
12
  $warning-color: red !default;
13
13
  $important-color: orange !default;
14
14
 
15
- $header-background: $primary-dark-color !default;
16
- $hero-background: $primary-dark-color !default;
17
- $superhero-background: $primary-dark-color !default;
15
+ $main-background: linear-gradient(315deg, $accent-color 0%, $primary-color 74%) !default;
16
+ $header-background: $main-background !default;
18
17
 
19
18
  $hub-software--primary-color: lightsalmon !default;
20
19
  $hub-software--primary-dark-color: tomato !default;
@@ -24,14 +23,16 @@ $hub-specs--primary-color: lightpink !default;
24
23
  $hub-specs--primary-dark-color: palevioletred !default;
25
24
  $hub-specs--hero-background: $hub-specs--primary-dark-color !default;
26
25
 
27
- $gutter: 30px;
26
+ $gutter: 15px;
28
27
  $featured-cols: 3;
29
28
  $featured-cols-narrow: 2;
30
- $grid-cols: 4;
29
+ $grid-cols: 3;
31
30
 
32
31
  $widescreen-breakpoint: 1140px + $gutter * 2;
33
32
  $bigscreen-breakpoint: 900px + $gutter * 2;
34
33
 
34
+ $external-links-side-margin: 16px; // for external links
35
+
35
36
 
36
37
  @import "open-project-base";
37
38
  @import "open-project-header-footer";
@@ -43,38 +44,7 @@ main {
43
44
  /* Generic */
44
45
 
45
46
  .layout--home > & {
46
- > section {
47
- z-index: 1;
48
- }
49
- > .underlay {
50
- > svg {
51
- display: none;
52
- }
53
- @media screen and (min-width: $bigscreen-breakpoint) {
54
- position: relative;
55
-
56
- > * {
57
- z-index: 1;
58
- }
59
- > svg {
60
- display: block;
61
- z-index: 0;
62
- position: absolute;
63
- }
64
-
65
- // Top section(s) background
66
- &.top-background {
67
- padding-bottom: 80px;
68
- background-color: #F7F7F7;
69
-
70
- > svg {
71
- top: 0;
72
- width: 100%;
73
- height: 35vw;
74
- }
75
- }
76
- }
77
- }
47
+ padding-bottom: 2em;
78
48
 
79
49
  > .featured-posts {
80
50
  @extend .main-section;
@@ -142,10 +112,6 @@ main {
142
112
 
143
113
  .layout--home > & {
144
114
  padding-bottom: 50px;
145
-
146
- @media screen and (min-width: $bigscreen-breakpoint) {
147
- padding-bottom: 0;
148
- }
149
115
  }
150
116
 
151
117
  .layout--spec-index > &,
@@ -362,7 +328,7 @@ main {
362
328
  .site--hub {
363
329
 
364
330
  &.layout--home > main {
365
- > .underlay > .featured-projects {
331
+ > .featured-projects {
366
332
  @extend .main-section;
367
333
 
368
334
  > .title:after {
@@ -524,62 +490,119 @@ main {
524
490
 
525
491
  /* Project */
526
492
 
527
- .site--project {
528
- &.layout--home > main > .underlay.summary-background {
529
- padding-top: 20px;
493
+ body.site--project {
494
+ &.layout--home {
495
+ background: $main-background;
496
+ }
497
+
498
+ &.layout--home > main {
499
+ .item {
500
+ background: linear-gradient(120deg, white 20%, rgba(white, 0.9) 80%, rgba(white, 0.75) 100%);
501
+
502
+ display: flex;
503
+ flex-flow: column nowrap;
504
+ padding: 1em 1.5em;
505
+
506
+ .body {
507
+ flex: 1;
508
+ }
530
509
 
531
- > svg {
532
- > polygon {
533
- fill: #F7F7F7;
510
+ .title {
511
+ font-size: 24px;
512
+ font-weight: normal;
534
513
  }
535
- bottom: 0;
536
- width: 100%;
537
- height: 35vw;
538
- }
539
514
 
540
- .summary {
541
- font-size: 18px;
515
+ .docs-nav {
516
+ flex-basis: 100%;
517
+ margin-bottom: 1em;
518
+ @include item-nav-toc();
519
+ }
542
520
 
543
- ul.you-can {
544
- padding: 0;
545
- display: flex;
546
- flex-flow: column nowrap;
547
- li {
548
- flex: 1 1 auto;
549
- &:first-child {
550
- margin-right: 40px;
521
+ .external-links {
522
+ @include item-external-links();
523
+ margin-left: -1.5em;
524
+ margin-right: -1.5em;
525
+
526
+ .nav-items {
527
+ display: flex;
528
+ flex-direction: row;
529
+ flex-wrap: wrap-reverse;
530
+
531
+ a {
532
+ white-space: nowrap;
551
533
  }
552
534
  }
553
535
  }
554
- .cta {
555
- margin-top: 30px;
556
- .button {
557
- @include cta-button($primary-dark-color, white);
558
- border-radius: 25px;
559
- border: 1px solid $primary-color;
536
+ }
537
+
538
+ > .custom-intro {
539
+ .summary {
540
+ font-size: 20px;
541
+ color: #fefefe;
542
+
543
+ .cta {
544
+ margin-top: 30px;
545
+ .button {
546
+ @include cta-button($primary-dark-color, white);
547
+ border-radius: 25px;
548
+ border: 1px solid $primary-color;
549
+ }
550
+ }
551
+ p:first-child:first-letter {
552
+ color: $accent-color;
553
+ float: left;
554
+ font-size: 75px;
555
+ line-height: 60px;
556
+ padding-right: 8px;
557
+ margin-left: -5px;
558
+ }
559
+ @media screen and (min-width: $bigscreen-breakpoint) {
560
+ p:first-child {
561
+ padding-right: 20vw;
562
+ }
560
563
  }
561
564
  }
562
- p:first-child:first-letter {
563
- color: $accent-color;
564
- float: left;
565
- font-size: 75px;
566
- line-height: 60px;
567
- padding-right: 8px;
568
- margin-left: -5px;
569
- }
570
- @media screen and (min-width: $bigscreen-breakpoint) {
571
- p:first-child {
572
- padding-right: 20vw;
565
+ }
566
+ }
567
+
568
+ &.site--project--one-software.layout--home > main {
569
+ // On single-software project sites, the only software item on landing
570
+ // is made part of the page rather than being constrained to a card widget.
571
+ // No own background means it’ll appear on landing page’s overall dark background.
572
+
573
+ .custom-intro {
574
+ .summary {
575
+ a {
576
+ @include static-link-color(white);
573
577
  }
574
- ul.you-can {
575
- flex-flow: row nowrap;
578
+ }
579
+ }
580
+
581
+ .item {
582
+ background: none;
583
+ padding: 0;
584
+
585
+ .docs-nav {
586
+ ul.nav-items > li {
587
+ > .item-title {
588
+ font-size: 24px;
589
+
590
+ a {
591
+ @include static-link-color(white);
592
+ }
593
+ }
576
594
  }
577
595
  }
596
+ .external-links {
597
+ @include item-external-links(true);
598
+ margin-left: 0;
599
+ margin-right: 0;
600
+ }
578
601
  }
579
602
  }
580
603
 
581
- &.layout--home > main > .underlay > .software,
582
- &.layout--home > main > .underlay > .specs,
604
+ &.layout--home > main > .software,
605
+ &.layout--home > main > .specs,
583
606
  &.layout--software-index > main,
584
607
  &.layout--spec-index > main {
585
608
  > .items {
@@ -595,15 +618,11 @@ main {
595
618
  }
596
619
 
597
620
  .item {
598
- @extend .item-card;
599
- @include hoverable-card(2px, 10px, rgba(desaturate($primary-color, 50), 0.08));
600
-
601
- padding: 30px 32px;
621
+ flex: 1;
602
622
  text-align: left;
603
623
 
604
624
  header > .title {
605
625
  margin: 0;
606
- font-size: 20px;
607
626
  }
608
627
  .body {
609
628
  font-size: 16px;
@@ -612,12 +631,53 @@ main {
612
631
  }
613
632
  }
614
633
 
615
- &.layout--home > main > .underlay > .software,
634
+ &.layout--software-index > main,
635
+ &.layout--spec-index > main {
636
+ > .items .item {
637
+ @extend .item-card;
638
+ @include hoverable-card(2px, 10px, rgba(desaturate($primary-color, 50), 0.08));
639
+
640
+ padding: 30px 32px;
641
+ flex: unset;
642
+ }
643
+ }
644
+
645
+ &.layout--home > main > .software {
646
+ > .items {
647
+ .item {
648
+ $logo-space: 64px;
649
+ $logo-side: 32px;
650
+
651
+ header {
652
+ display: flex;
653
+ flex-flow: row nowrap;
654
+ align-items: center;
655
+
656
+ .title {
657
+ flex: 1;
658
+ }
659
+ .logo-container {
660
+ width: $logo-space;
661
+ flex: 0;
662
+ padding: 4px ($logo-space - $logo-side) 4px 0;
663
+
664
+ .logo > :only-child {
665
+ width: $logo-side;
666
+ height: $logo-side;
667
+ vertical-align: middle;
668
+ }
669
+ }
670
+ }
671
+ }
672
+ }
673
+ }
674
+
616
675
  &.layout--software-index > main {
617
676
  > .items {
618
677
  .item {
619
678
  $logo-space: 132px;
620
679
  $logo-side: 48px;
680
+
621
681
  .logo-container {
622
682
  .logo > :only-child {
623
683
  width: $logo-side;
@@ -638,10 +698,24 @@ main {
638
698
  }
639
699
  }
640
700
 
641
- &.layout--home > main > .underlay > .software,
642
- &.layout--home > main > .underlay > .specs {
701
+ &.layout--home > main > .software,
702
+ &.layout--home > main > .specs {
643
703
  @extend .main-section;
644
704
 
705
+ > .title {
706
+ padding: .4em 1.5em;
707
+ background: rgba(white, 0.9);
708
+ font-size: 110%;
709
+ font-weight: normal;
710
+ align-self: flex-start;
711
+ color: lighten($main-font-color, 20);
712
+ margin-bottom: $gutter;
713
+
714
+ a {
715
+ @include static-link-color($primary-dark-color);
716
+ }
717
+ }
718
+
645
719
  .items {
646
720
  @extend .item-grid;
647
721
  justify-content: center;
@@ -665,7 +739,7 @@ main {
665
739
  // Show third element
666
740
  &:nth-child(3) {
667
741
  opacity: 1;
668
- display: block;
742
+ display: flex;
669
743
  }
670
744
  }
671
745
  }
@@ -18,6 +18,10 @@ abbr {
18
18
  cursor: help;
19
19
  }
20
20
 
21
+ .svg-inline--fa {
22
+ vertical-align: -.15em;
23
+ }
24
+
21
25
  a {
22
26
  &:link, &:hover, &:visited {
23
27
  color: $primary-dark-color;
@@ -35,6 +39,10 @@ a {
35
39
  > .item {
36
40
  margin-right: $gutter;
37
41
 
42
+ &:only-child {
43
+ flex: 1;
44
+ }
45
+
38
46
  &.featured-item::before {
39
47
  // Reposition featured item label for grid layout
40
48
  // !important overrides .item-card which ends up with higher specificity
@@ -57,12 +65,14 @@ a {
57
65
  }
58
66
 
59
67
  .main-section {
60
- margin-top: 50px;
68
+ margin-top: 1em;
69
+ margin-bottom: 1em;
61
70
 
62
71
  display: flex;
63
72
  flex-flow: column nowrap;
64
73
 
65
74
  > .puny-label {
75
+ // DEPRECATED: Used only on hub site, old design
66
76
  align-self: center;
67
77
 
68
78
  text-align: center;
@@ -83,6 +93,12 @@ a {
83
93
 
84
94
  position: relative;
85
95
 
96
+ color: white;
97
+
98
+ a {
99
+ @include static-link-color(white);
100
+ }
101
+
86
102
  .more-link {
87
103
  margin-left: .5em;
88
104
  font-size: 70%;
@@ -141,7 +157,7 @@ a {
141
157
  }
142
158
 
143
159
  &.featured-item::before {
144
- content: "👍 featured";
160
+ content: "featured";
145
161
 
146
162
  position: absolute;
147
163
  bottom: 2.5em;
@@ -165,6 +181,11 @@ a {
165
181
  height: 32px;
166
182
  vertical-align: middle;
167
183
  margin-right: 10px;
184
+
185
+ display: flex;
186
+ flex-flow: column nowrap;
187
+ align-items: center;
188
+ justify-content: center;
168
189
  }
169
190
  .project-title {
170
191
  font-size: 14px;
@@ -342,7 +363,10 @@ a {
342
363
  }
343
364
 
344
365
  a {
345
- border-bottom: 1px solid;
366
+ &:not(.image) {
367
+ border-bottom: 1px solid;
368
+ }
369
+
346
370
  &[rel=external] {
347
371
  border-bottom-style: dotted;
348
372
  &:link, &:hover, &:focus, &:active {
@@ -5,14 +5,11 @@ body > .underlay > footer {
5
5
  .site-logo {
6
6
  margin: 0;
7
7
  padding: 0;
8
-
9
8
  line-height: .5;
10
9
  font-size: 24px;
11
-
12
- color: white;
13
10
  font-weight: 600;
14
-
15
11
  white-space: nowrap;
12
+ color: white;
16
13
 
17
14
  :link, :hover, :visited {
18
15
  color: inherit;
@@ -39,29 +36,6 @@ body > .underlay > footer {
39
36
  }
40
37
  }
41
38
 
42
- .parent-hub-plug {
43
- .logo {
44
- display: block;
45
- }
46
- body > .underlay.footer & {
47
- display: flex;
48
- flex-flow: row nowrap;
49
- align-items: center;
50
- white-space: nowrap;
51
- line-height: .5;
52
- opacity: 0.8;
53
- color: white;
54
-
55
- @media screen and (min-width: $bigscreen-breakpoint) {
56
- margin-right: 50px;
57
- }
58
-
59
- .label {
60
- margin-right: 20px;
61
- font-weight: 500;
62
- }
63
- }
64
- }
65
39
 
66
40
  .underlay.header {
67
41
  body > & {
@@ -72,7 +46,6 @@ body > .underlay > footer {
72
46
  color: white;
73
47
 
74
48
  > .text {
75
- padding-bottom: 50px;
76
49
  position: relative;
77
50
 
78
51
  > .title {
@@ -83,7 +56,7 @@ body > .underlay > footer {
83
56
  }
84
57
  > .desc {
85
58
  font-size: 20px;
86
- margin: 0;
59
+ margin: 0 0 20px 0;
87
60
  }
88
61
  > .cta { // Call to action.
89
62
  margin-top: 40px;
@@ -98,76 +71,61 @@ body > .underlay > footer {
98
71
  &:last-child {
99
72
  margin-right: 0;
100
73
  }
74
+ &:only-child {
75
+ @include cta-button($primary-dark-color, white);
76
+ }
101
77
  }
102
78
  }
103
79
  }
104
80
  }
105
81
  }
106
82
  .site--hub.layout--software-index > & {
83
+ padding-bottom: 2em;
107
84
  background: $hub-software--hero-background;
108
85
  }
86
+ .site--hub.layout--blog-index > &,
87
+ .site--hub.layout--project-index > & {
88
+ padding-bottom: 2em;
89
+ }
109
90
  .site--hub.layout--spec-index > & {
91
+ padding-bottom: 2em;
110
92
  background: $hub-specs--hero-background;
111
93
  }
112
- .layout--home > & {
113
- background: $superhero-background;
94
+ .site--hub.layout--home > & {
95
+ padding-bottom: 2em;
96
+ background: $main-background;
114
97
  }
115
-
116
- .site--hub > & {
117
- > .hero { text-align: center; }
98
+ .site--project.layout--software-index > &,
99
+ .site--project.layout--spec-index > &,
100
+ .site--project.layout--blog-index > & {
101
+ padding-bottom: 2em;
102
+ }
103
+ .site--project.layout--home > & {
104
+ background: none;
118
105
  }
119
106
 
120
- .site--hub.layout--home > & {
107
+ .site--project.layout--home > & {
121
108
  > .hero {
122
- text-align: left;
123
- @media screen and (min-width: $bigscreen-breakpoint) {
124
- padding-bottom: 50px;
109
+ .text {
110
+ margin-top: 1.5em;
111
+ margin-bottom: 2em;
125
112
  }
126
113
  }
127
114
  }
128
- .layout--home > & {
115
+
116
+ .site--hub.layout--home > & {
129
117
  > .hero {
130
- .illustration {
131
- display: none;
132
- }
118
+ text-align: left;
119
+
133
120
  @media screen and (min-width: $bigscreen-breakpoint) {
134
- display: flex;
135
- flex-flow: row nowrap;
136
- position: relative;
137
- .text {
138
- z-index: 4;
139
- }
140
- .illustration {
141
- display: block;
142
- position: absolute;
143
- }
144
- }
145
- }
146
- }
147
- @media screen and (min-width: $bigscreen-breakpoint) {
148
- .site--hub.layout--home > & > .hero {
149
- .illustration {
150
- bottom: 100px;
151
- right: -15%;
152
- svg {
153
- width: 700px;
154
- }
155
- }
156
- }
157
- .site--project.layout--home > & > .hero {
158
- .illustration {
159
- bottom: 40px;
160
- right: 0;
161
- svg {
162
- width: 200px;
163
- }
121
+ padding-bottom: 50px;
164
122
  }
165
123
  }
166
124
  }
167
125
  }
168
126
 
169
127
  body > .underlay.footer {
170
- background: #2E333B;
128
+ background: rgba(black, 0.4);
171
129
  }
172
130
 
173
131
  body > .underlay > header {
@@ -176,18 +134,16 @@ body > .underlay > header {
176
134
  z-index: 5;
177
135
  // Higher than hero, otherwise Algolia search pop-up might have stuff over it
178
136
 
179
- align-items: flex-start;
137
+ align-items: center;
180
138
  flex-flow: row nowrap;
181
139
  justify-content: space-between;
182
140
 
183
- color: white;
184
-
185
141
  > button.hamburger {
186
142
  border: 0;
187
143
  background: transparent;
188
- color: white;
189
144
  font-size: inherit;
190
145
  z-index: 20;
146
+ color: white;
191
147
  }
192
148
 
193
149
  > .hamburger-menu {
@@ -197,11 +153,11 @@ body > .underlay > header {
197
153
  right: 0;
198
154
  transform: translateY(-100%);
199
155
  transition: transform .8s cubic-bezier(0.23, 1, 0.32, 1);
156
+ color: white;
200
157
 
201
158
  height: 100vh;
202
159
  overflow: hidden;
203
160
  z-index: 10;
204
- color: white;
205
161
  background: rgba($primary-dark-color, 0.95);
206
162
 
207
163
  display: flex;
@@ -268,7 +224,7 @@ body > .underlay > header {
268
224
  font-size: inherit;
269
225
  line-height: inherit;
270
226
  border: 0;
271
- background-color: white;
227
+ color: white;
272
228
  }
273
229
  }
274
230
 
@@ -306,11 +262,12 @@ body > .underlay > header {
306
262
  > .social-links {
307
263
  color: white;
308
264
  display: none;
265
+ white-space: nowrap;
309
266
 
310
267
  .active {
311
268
  background-color: rgba(black, 0.1);
312
269
  }
313
- a:link, a:hover, a:visited {
270
+ a:link, a:visited, a:hover {
314
271
  color: white;
315
272
  }
316
273
  }
@@ -331,13 +288,36 @@ body > .underlay > footer {
331
288
  padding-top: 50px;
332
289
  padding-bottom: 50px;
333
290
 
334
- align-items: center;
291
+ align-items: flex-start;
335
292
  flex-flow: column nowrap;
336
293
 
337
- color: #909B9C;
294
+ color: white;
338
295
 
339
296
  a:link, a:visited, a:hover {
340
- color: #909B9C;
297
+ color: white;
298
+ }
299
+
300
+ .parent-hub-plug {
301
+ .logo {
302
+ display: block;
303
+ }
304
+
305
+ display: flex;
306
+ flex-flow: row nowrap;
307
+ align-items: center;
308
+ white-space: nowrap;
309
+ line-height: .5;
310
+ opacity: 0.8;
311
+ color: white;
312
+
313
+ @media screen and (min-width: $bigscreen-breakpoint) {
314
+ margin-right: 50px;
315
+ }
316
+
317
+ .label {
318
+ margin-right: 20px;
319
+ font-weight: 500;
320
+ }
341
321
  }
342
322
 
343
323
  .legal {
@@ -352,8 +332,6 @@ body > .underlay > footer {
352
332
  margin-bottom: 1em;
353
333
 
354
334
  .copyright {
355
- text-align: center;
356
-
357
335
  .copyright-head, .copyright-tail {
358
336
  white-space: nowrap;
359
337
  }
@@ -362,12 +340,10 @@ body > .underlay > footer {
362
340
  nav {
363
341
  display: flex;
364
342
  flex-flow: row wrap;
365
- justify-content: space-around;
366
- }
367
343
 
368
- @media screen and (min-width: $bigscreen-breakpoint) {
369
- margin-top: 0;
370
- margin-bottom: 0;
344
+ > * {
345
+ margin-right: 40px;
346
+ }
371
347
  }
372
348
 
373
349
  @media screen and (min-width: $widescreen-breakpoint) {
@@ -376,16 +352,9 @@ body > .underlay > footer {
376
352
  nav {
377
353
  display: block;
378
354
  }
379
- nav > * {
380
- margin-right: 40px;
381
- }
382
355
  .copyright {
383
356
  margin-right: 40px;
384
357
  }
385
358
  }
386
359
  }
387
-
388
- @media screen and (min-width: $bigscreen-breakpoint) {
389
- flex-flow: row nowrap;
390
- }
391
360
  }