jekyll-theme-cs50 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/header.md +1 -0
  3. data/_layouts/page.html +51 -19
  4. data/_sass/jekyll-theme-cs50.scss +97 -60
  5. data/_sass/node_modules/bootstrap/LICENSE +22 -22
  6. data/_sass/node_modules/bootstrap/scss/_badge.scss +2 -1
  7. data/_sass/node_modules/bootstrap/scss/_buttons.scss +2 -5
  8. data/_sass/node_modules/bootstrap/scss/_card.scss +13 -34
  9. data/_sass/node_modules/bootstrap/scss/_carousel.scss +1 -2
  10. data/_sass/node_modules/bootstrap/scss/_close.scss +1 -4
  11. data/_sass/node_modules/bootstrap/scss/_code.scss +5 -5
  12. data/_sass/node_modules/bootstrap/scss/_custom-forms.scss +11 -11
  13. data/_sass/node_modules/bootstrap/scss/_dropdown.scss +20 -20
  14. data/_sass/node_modules/bootstrap/scss/_forms.scss +12 -16
  15. data/_sass/node_modules/bootstrap/scss/_functions.scss +3 -3
  16. data/_sass/node_modules/bootstrap/scss/_images.scss +1 -1
  17. data/_sass/node_modules/bootstrap/scss/_input-group.scss +3 -3
  18. data/_sass/node_modules/bootstrap/scss/_jumbotron.scss +1 -0
  19. data/_sass/node_modules/bootstrap/scss/_list-group.scss +33 -5
  20. data/_sass/node_modules/bootstrap/scss/_mixins.scss +6 -0
  21. data/_sass/node_modules/bootstrap/scss/_modal.scss +47 -4
  22. data/_sass/node_modules/bootstrap/scss/_navbar.scss +3 -8
  23. data/_sass/node_modules/bootstrap/scss/_pagination.scss +0 -5
  24. data/_sass/node_modules/bootstrap/scss/_popover.scss +46 -58
  25. data/_sass/node_modules/bootstrap/scss/_print.scss +1 -1
  26. data/_sass/node_modules/bootstrap/scss/_progress.scss +15 -6
  27. data/_sass/node_modules/bootstrap/scss/_reboot.scss +28 -7
  28. data/_sass/node_modules/bootstrap/scss/_spinners.scss +2 -0
  29. data/_sass/node_modules/bootstrap/scss/_tables.scss +3 -5
  30. data/_sass/node_modules/bootstrap/scss/_toasts.scss +3 -2
  31. data/_sass/node_modules/bootstrap/scss/_tooltip.scss +1 -1
  32. data/_sass/node_modules/bootstrap/scss/_transitions.scss +0 -2
  33. data/_sass/node_modules/bootstrap/scss/_type.scss +15 -15
  34. data/_sass/node_modules/bootstrap/scss/_utilities.scss +1 -0
  35. data/_sass/node_modules/bootstrap/scss/_variables.scss +129 -97
  36. data/_sass/node_modules/bootstrap/scss/bootstrap-grid.scss +3 -3
  37. data/_sass/node_modules/bootstrap/scss/bootstrap-reboot.scss +3 -3
  38. data/_sass/node_modules/bootstrap/scss/bootstrap.scss +3 -3
  39. data/_sass/node_modules/bootstrap/scss/mixins/_badge.scss +6 -0
  40. data/_sass/node_modules/bootstrap/scss/mixins/_border-radius.scss +29 -1
  41. data/_sass/node_modules/bootstrap/scss/mixins/_box-shadow.scss +16 -1
  42. data/_sass/node_modules/bootstrap/scss/mixins/_buttons.scss +3 -7
  43. data/_sass/node_modules/bootstrap/scss/mixins/_caret.scss +4 -4
  44. data/_sass/node_modules/bootstrap/scss/mixins/_deprecate.scss +10 -0
  45. data/_sass/node_modules/bootstrap/scss/mixins/_float.scss +3 -0
  46. data/_sass/node_modules/bootstrap/scss/mixins/_forms.scss +8 -14
  47. data/_sass/node_modules/bootstrap/scss/mixins/_image.scss +2 -2
  48. data/_sass/node_modules/bootstrap/scss/mixins/_pagination.scss +1 -1
  49. data/_sass/node_modules/bootstrap/scss/mixins/_reset-text.scss +1 -1
  50. data/_sass/node_modules/bootstrap/scss/mixins/_size.scss +1 -0
  51. data/_sass/node_modules/bootstrap/scss/mixins/_text-emphasis.scss +5 -3
  52. data/_sass/node_modules/bootstrap/scss/mixins/_text-hide.scss +1 -3
  53. data/_sass/node_modules/bootstrap/scss/mixins/_transition.scss +1 -1
  54. data/_sass/node_modules/bootstrap/scss/mixins/_visibility.scss +1 -0
  55. data/_sass/node_modules/bootstrap/scss/utilities/_borders.scss +13 -1
  56. data/_sass/node_modules/bootstrap/scss/utilities/_display.scss +6 -18
  57. data/_sass/node_modules/bootstrap/scss/utilities/_float.scss +5 -3
  58. data/_sass/node_modules/bootstrap/scss/utilities/_stretched-link.scss +19 -0
  59. data/_sass/node_modules/bootstrap/scss/utilities/_text.scss +6 -1
  60. data/_sass/node_modules/bootstrap/scss/utilities/_visibility.scss +4 -2
  61. data/_sass/node_modules/bootstrap/scss/vendor/_rfs.scss +204 -0
  62. data/_sass/package.json +2 -2
  63. metadata +21 -47
  64. data/_includes/aside.html +0 -24
  65. data/_includes/main.html +0 -5
@@ -127,8 +127,7 @@
127
127
  display: inline-block;
128
128
  width: $carousel-control-icon-width;
129
129
  height: $carousel-control-icon-width;
130
- background: transparent no-repeat center center;
131
- background-size: 100% 100%;
130
+ background: no-repeat 50% / 100% 100%;
132
131
  }
133
132
  .carousel-control-prev-icon {
134
133
  background-image: $carousel-control-prev-icon-bg;
@@ -1,6 +1,6 @@
1
1
  .close {
2
2
  float: right;
3
- font-size: $close-font-size;
3
+ @include font-size($close-font-size);
4
4
  font-weight: $close-font-weight;
5
5
  line-height: 1;
6
6
  color: $close-color;
@@ -17,9 +17,6 @@
17
17
  @include hover-focus {
18
18
  opacity: .75;
19
19
  }
20
-
21
- // Opinionated: add "hand" cursor to non-disabled .close elements
22
- cursor: pointer;
23
20
  }
24
21
  }
25
22
 
@@ -1,6 +1,6 @@
1
1
  // Inline code
2
2
  code {
3
- font-size: $code-font-size;
3
+ @include font-size($code-font-size);
4
4
  color: $code-color;
5
5
  word-break: break-word;
6
6
 
@@ -13,7 +13,7 @@ code {
13
13
  // User input typically entered via keyboard
14
14
  kbd {
15
15
  padding: $kbd-padding-y $kbd-padding-x;
16
- font-size: $kbd-font-size;
16
+ @include font-size($kbd-font-size);
17
17
  color: $kbd-color;
18
18
  background-color: $kbd-bg;
19
19
  @include border-radius($border-radius-sm);
@@ -21,7 +21,7 @@ kbd {
21
21
 
22
22
  kbd {
23
23
  padding: 0;
24
- font-size: 100%;
24
+ @include font-size(100%);
25
25
  font-weight: $nested-kbd-font-weight;
26
26
  @include box-shadow(none);
27
27
  }
@@ -30,12 +30,12 @@ kbd {
30
30
  // Blocks of code
31
31
  pre {
32
32
  display: block;
33
- font-size: $code-font-size;
33
+ @include font-size($code-font-size);
34
34
  color: $pre-color;
35
35
 
36
36
  // Account for some code outputs that place code tags in pre tags
37
37
  code {
38
- font-size: inherit;
38
+ @include font-size(inherit);
39
39
  color: inherit;
40
40
  word-break: normal;
41
41
  }
@@ -95,9 +95,7 @@
95
95
  width: $custom-control-indicator-size;
96
96
  height: $custom-control-indicator-size;
97
97
  content: "";
98
- background-repeat: no-repeat;
99
- background-position: center center;
100
- background-size: $custom-control-indicator-bg-size;
98
+ background: no-repeat 50% / #{$custom-control-indicator-bg-size};
101
99
  }
102
100
  }
103
101
 
@@ -144,6 +142,7 @@
144
142
 
145
143
  .custom-radio {
146
144
  .custom-control-label::before {
145
+ // stylelint-disable-next-line property-blacklist
147
146
  border-radius: $custom-radio-indicator-border-radius;
148
147
  }
149
148
 
@@ -173,6 +172,7 @@
173
172
  left: -($custom-switch-width + $custom-control-gutter);
174
173
  width: $custom-switch-width;
175
174
  pointer-events: all;
175
+ // stylelint-disable-next-line property-blacklist
176
176
  border-radius: $custom-switch-indicator-border-radius;
177
177
  }
178
178
 
@@ -182,6 +182,7 @@
182
182
  width: $custom-switch-indicator-size;
183
183
  height: $custom-switch-indicator-size;
184
184
  background-color: $custom-control-indicator-border-color;
185
+ // stylelint-disable-next-line property-blacklist
185
186
  border-radius: $custom-switch-indicator-border-radius;
186
187
  @include transition(transform .15s ease-in-out, $custom-forms-transition);
187
188
  }
@@ -213,6 +214,8 @@
213
214
  width: 100%;
214
215
  height: $custom-select-height;
215
216
  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
217
+ font-family: $custom-select-font-family;
218
+ @include font-size($custom-select-font-size);
216
219
  font-weight: $custom-select-font-weight;
217
220
  line-height: $custom-select-line-height;
218
221
  color: $custom-select-color;
@@ -220,11 +223,7 @@
220
223
  background: $custom-select-background;
221
224
  background-color: $custom-select-bg;
222
225
  border: $custom-select-border-width solid $custom-select-border-color;
223
- @if $enable-rounded {
224
- border-radius: $custom-select-border-radius;
225
- } @else {
226
- border-radius: 0;
227
- }
226
+ @include border-radius($custom-select-border-radius, 0);
228
227
  @include box-shadow($custom-select-box-shadow);
229
228
  appearance: none;
230
229
 
@@ -262,7 +261,7 @@
262
261
 
263
262
  // Hides the default caret in IE11
264
263
  &::-ms-expand {
265
- opacity: 0;
264
+ display: none;
266
265
  }
267
266
  }
268
267
 
@@ -271,7 +270,7 @@
271
270
  padding-top: $custom-select-padding-y-sm;
272
271
  padding-bottom: $custom-select-padding-y-sm;
273
272
  padding-left: $custom-select-padding-x-sm;
274
- font-size: $custom-select-font-size-sm;
273
+ @include font-size($custom-select-font-size-sm);
275
274
  }
276
275
 
277
276
  .custom-select-lg {
@@ -279,7 +278,7 @@
279
278
  padding-top: $custom-select-padding-y-lg;
280
279
  padding-bottom: $custom-select-padding-y-lg;
281
280
  padding-left: $custom-select-padding-x-lg;
282
- font-size: $custom-select-font-size-lg;
281
+ @include font-size($custom-select-font-size-lg);
283
282
  }
284
283
 
285
284
 
@@ -331,6 +330,7 @@
331
330
  z-index: 1;
332
331
  height: $custom-file-height;
333
332
  padding: $custom-file-padding-y $custom-file-padding-x;
333
+ font-family: $custom-file-font-family;
334
334
  font-weight: $custom-file-font-weight;
335
335
  line-height: $custom-file-line-height;
336
336
  color: $custom-file-color;
@@ -7,6 +7,8 @@
7
7
  }
8
8
 
9
9
  .dropdown-toggle {
10
+ white-space: nowrap;
11
+
10
12
  // Generate the caret automatically
11
13
  @include caret;
12
14
  }
@@ -22,8 +24,8 @@
22
24
  min-width: $dropdown-min-width;
23
25
  padding: $dropdown-padding-y 0;
24
26
  margin: $dropdown-spacer 0 0; // override default ul
25
- font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
- color: $body-color;
27
+ @include font-size($dropdown-font-size);
28
+ color: $dropdown-color;
27
29
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
30
  list-style: none;
29
31
  background-color: $dropdown-bg;
@@ -33,17 +35,6 @@
33
35
  @include box-shadow($dropdown-box-shadow);
34
36
  }
35
37
 
36
- @each $breakpoint in map-keys($grid-breakpoints) {
37
- @include media-breakpoint-up($breakpoint) {
38
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
39
-
40
- .dropdown-menu#{$infix}-right {
41
- right: 0;
42
- left: auto;
43
- }
44
- }
45
- }
46
-
47
38
  @each $breakpoint in map-keys($grid-breakpoints) {
48
39
  @include media-breakpoint-up($breakpoint) {
49
40
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@@ -52,6 +43,11 @@
52
43
  right: auto;
53
44
  left: 0;
54
45
  }
46
+
47
+ .dropdown-menu#{$infix}-right {
48
+ right: 0;
49
+ left: auto;
50
+ }
55
51
  }
56
52
  }
57
53
 
@@ -118,7 +114,7 @@
118
114
 
119
115
  // Dividers (basically an `<hr>`) within the dropdown
120
116
  .dropdown-divider {
121
- @include nav-divider($dropdown-divider-bg);
117
+ @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);
122
118
  }
123
119
 
124
120
  // Links, buttons, and more within the dropdown menu
@@ -136,12 +132,16 @@
136
132
  background-color: transparent; // For `<button>`s
137
133
  border: 0; // For `<button>`s
138
134
 
139
- &:first-child {
140
- @include border-top-radius($dropdown-inner-border-radius);
141
- }
135
+ // Prevent dropdown overflow if there's no padding
136
+ // See https://github.com/twbs/bootstrap/pull/27703
137
+ @if $dropdown-padding-y == 0 {
138
+ &:first-child {
139
+ @include border-top-radius($dropdown-inner-border-radius);
140
+ }
142
141
 
143
- &:last-child {
144
- @include border-bottom-radius($dropdown-inner-border-radius);
142
+ &:last-child {
143
+ @include border-bottom-radius($dropdown-inner-border-radius);
144
+ }
145
145
  }
146
146
 
147
147
  @include hover-focus {
@@ -178,7 +178,7 @@
178
178
  display: block;
179
179
  padding: $dropdown-padding-y $dropdown-item-padding-x;
180
180
  margin-bottom: 0; // for use with heading elements
181
- font-size: $font-size-sm;
181
+ @include font-size($font-size-sm);
182
182
  color: $dropdown-header-color;
183
183
  white-space: nowrap; // as with > li > a
184
184
  }
@@ -9,7 +9,8 @@
9
9
  width: 100%;
10
10
  height: $input-height;
11
11
  padding: $input-padding-y $input-padding-x;
12
- font-size: $input-font-size;
12
+ font-family: $input-font-family;
13
+ @include font-size($input-font-size);
13
14
  font-weight: $input-font-weight;
14
15
  line-height: $input-line-height;
15
16
  color: $input-color;
@@ -18,13 +19,7 @@
18
19
  border: $input-border-width solid $input-border-color;
19
20
 
20
21
  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
21
- @if $enable-rounded {
22
- // Manually use the if/else instead of the mixin to account for iOS override
23
- border-radius: $input-border-radius;
24
- } @else {
25
- // Otherwise undo the iOS default
26
- border-radius: 0;
27
- }
22
+ @include border-radius($input-border-radius, 0);
28
23
 
29
24
  @include box-shadow($input-box-shadow);
30
25
  @include transition($input-transition);
@@ -88,21 +83,21 @@ select.form-control {
88
83
  padding-top: calc(#{$input-padding-y} + #{$input-border-width});
89
84
  padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
90
85
  margin-bottom: 0; // Override the `<label>/<legend>` default
91
- font-size: inherit; // Override the `<legend>` default
86
+ @include font-size(inherit); // Override the `<legend>` default
92
87
  line-height: $input-line-height;
93
88
  }
94
89
 
95
90
  .col-form-label-lg {
96
91
  padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
97
92
  padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
98
- font-size: $input-font-size-lg;
93
+ @include font-size($input-font-size-lg);
99
94
  line-height: $input-line-height-lg;
100
95
  }
101
96
 
102
97
  .col-form-label-sm {
103
98
  padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
104
99
  padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
105
- font-size: $input-font-size-sm;
100
+ @include font-size($input-font-size-sm);
106
101
  line-height: $input-line-height-sm;
107
102
  }
108
103
 
@@ -142,7 +137,7 @@ select.form-control {
142
137
  .form-control-sm {
143
138
  height: $input-height-sm;
144
139
  padding: $input-padding-y-sm $input-padding-x-sm;
145
- font-size: $input-font-size-sm;
140
+ @include font-size($input-font-size-sm);
146
141
  line-height: $input-line-height-sm;
147
142
  @include border-radius($input-border-radius-sm);
148
143
  }
@@ -150,7 +145,7 @@ select.form-control {
150
145
  .form-control-lg {
151
146
  height: $input-height-lg;
152
147
  padding: $input-padding-y-lg $input-padding-x-lg;
153
- font-size: $input-font-size-lg;
148
+ @include font-size($input-font-size-lg);
154
149
  line-height: $input-line-height-lg;
155
150
  @include border-radius($input-border-radius-lg);
156
151
  }
@@ -163,7 +158,6 @@ select.form-control {
163
158
  }
164
159
  }
165
160
 
166
- // stylelint-disable-next-line no-duplicate-selectors
167
161
  textarea.form-control {
168
162
  height: auto;
169
163
  }
@@ -248,8 +242,9 @@ textarea.form-control {
248
242
  // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
249
243
  // server side validation.
250
244
 
251
- @include form-validation-state("valid", $form-feedback-valid-color);
252
- @include form-validation-state("invalid", $form-feedback-invalid-color);
245
+ @each $state, $data in $form-validation-states {
246
+ @include form-validation-state($state, map-get($data, color), map-get($data, icon));
247
+ }
253
248
 
254
249
  // Inline forms
255
250
  //
@@ -318,6 +313,7 @@ textarea.form-control {
318
313
  }
319
314
  .form-check-input {
320
315
  position: relative;
316
+ flex-shrink: 0;
321
317
  margin-top: 0;
322
318
  margin-right: $form-check-input-margin-x;
323
319
  margin-left: 0;
@@ -21,12 +21,12 @@
21
21
  }
22
22
 
23
23
  // Starts at zero
24
- // Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map) {
24
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
26
  $values: map-values($map);
27
27
  $first-value: nth($values, 1);
28
28
  @if $first-value != 0 {
29
- @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
29
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
30
30
  }
31
31
  }
32
32
 
@@ -37,6 +37,6 @@
37
37
  }
38
38
 
39
39
  .figure-caption {
40
- font-size: $figure-caption-font-size;
40
+ @include font-size($figure-caption-font-size);
41
41
  color: $figure-caption-color;
42
42
  }
@@ -104,7 +104,7 @@
104
104
  align-items: center;
105
105
  padding: $input-padding-y $input-padding-x;
106
106
  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
107
- font-size: $font-size-base; // Match inputs
107
+ @include font-size($input-font-size); // Match inputs
108
108
  font-weight: $font-weight-normal;
109
109
  line-height: $input-line-height;
110
110
  color: $input-group-addon-color;
@@ -139,7 +139,7 @@
139
139
  .input-group-lg > .input-group-prepend > .btn,
140
140
  .input-group-lg > .input-group-append > .btn {
141
141
  padding: $input-padding-y-lg $input-padding-x-lg;
142
- font-size: $input-font-size-lg;
142
+ @include font-size($input-font-size-lg);
143
143
  line-height: $input-line-height-lg;
144
144
  @include border-radius($input-border-radius-lg);
145
145
  }
@@ -156,7 +156,7 @@
156
156
  .input-group-sm > .input-group-prepend > .btn,
157
157
  .input-group-sm > .input-group-append > .btn {
158
158
  padding: $input-padding-y-sm $input-padding-x-sm;
159
- font-size: $input-font-size-sm;
159
+ @include font-size($input-font-size-sm);
160
160
  line-height: $input-line-height-sm;
161
161
  @include border-radius($input-border-radius-sm);
162
162
  }
@@ -1,6 +1,7 @@
1
1
  .jumbotron {
2
2
  padding: $jumbotron-padding ($jumbotron-padding / 2);
3
3
  margin-bottom: $jumbotron-padding;
4
+ color: $jumbotron-color;
4
5
  background-color: $jumbotron-bg;
5
6
  @include border-radius($border-radius-lg);
6
7
 
@@ -24,6 +24,7 @@
24
24
 
25
25
  // Hover state
26
26
  @include hover-focus {
27
+ z-index: 1; // Place hover/focus items above their siblings for proper border styling
27
28
  color: $list-group-action-hover-color;
28
29
  text-decoration: none;
29
30
  background-color: $list-group-hover-bg;
@@ -46,6 +47,7 @@
46
47
  padding: $list-group-item-padding-y $list-group-item-padding-x;
47
48
  // Place the border on the list items and negative margin up for better styling
48
49
  margin-bottom: -$list-group-border-width;
50
+ color: $list-group-color;
49
51
  background-color: $list-group-bg;
50
52
  border: $list-group-border-width solid $list-group-border-color;
51
53
 
@@ -58,11 +60,6 @@
58
60
  @include border-bottom-radius($list-group-border-radius);
59
61
  }
60
62
 
61
- @include hover-focus {
62
- z-index: 1; // Place hover/active items above their siblings for proper border styling
63
- text-decoration: none;
64
- }
65
-
66
63
  &.disabled,
67
64
  &:disabled {
68
65
  color: $list-group-disabled-color;
@@ -80,6 +77,37 @@
80
77
  }
81
78
 
82
79
 
80
+ // Horizontal
81
+ //
82
+ // Change the layout of list group items from vertical (default) to horizontal.
83
+
84
+ @each $breakpoint in map-keys($grid-breakpoints) {
85
+ @include media-breakpoint-up($breakpoint) {
86
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
87
+
88
+ .list-group-horizontal#{$infix} {
89
+ flex-direction: row;
90
+
91
+ .list-group-item {
92
+ margin-right: -$list-group-border-width;
93
+ margin-bottom: 0;
94
+
95
+ &:first-child {
96
+ @include border-left-radius($list-group-border-radius);
97
+ @include border-top-right-radius(0);
98
+ }
99
+
100
+ &:last-child {
101
+ margin-right: 0;
102
+ @include border-right-radius($list-group-border-radius);
103
+ @include border-bottom-left-radius(0);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+
83
111
  // Flush list items
84
112
  //
85
113
  // Remove borders and border-radius to keep list group items edge-to-edge. Most