jekyll-theme-open-project 1.3.4 → 2.0

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.
@@ -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
  }