respectre-jekyll-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_includes/footer.html +17 -0
  5. data/_includes/head.html +11 -0
  6. data/_includes/header.html +14 -0
  7. data/_layouts/default.html +13 -0
  8. data/_layouts/home.html +26 -0
  9. data/_layouts/page.html +14 -0
  10. data/_layouts/post.html +21 -0
  11. data/_sass/spectre.scss +49 -0
  12. data/_sass/spectre/.csscomb.json +30 -0
  13. data/_sass/spectre/.gitattributes +1 -0
  14. data/_sass/spectre/.gitignore +9 -0
  15. data/_sass/spectre/.hound.yml +2 -0
  16. data/_sass/spectre/.scss-lint.yml +253 -0
  17. data/_sass/spectre/_accordions.scss +38 -0
  18. data/_sass/spectre/_animations.scss +20 -0
  19. data/_sass/spectre/_asian.scss +33 -0
  20. data/_sass/spectre/_autocomplete.scss +36 -0
  21. data/_sass/spectre/_avatars.scss +77 -0
  22. data/_sass/spectre/_badges.scss +70 -0
  23. data/_sass/spectre/_bars.scss +71 -0
  24. data/_sass/spectre/_base.scss +40 -0
  25. data/_sass/spectre/_breadcrumbs.scss +29 -0
  26. data/_sass/spectre/_buttons.scss +182 -0
  27. data/_sass/spectre/_calendars.scss +206 -0
  28. data/_sass/spectre/_cards.scss +39 -0
  29. data/_sass/spectre/_carousels.scss +124 -0
  30. data/_sass/spectre/_chips.scss +26 -0
  31. data/_sass/spectre/_codes.scss +31 -0
  32. data/_sass/spectre/_comparison-sliders.scss +114 -0
  33. data/_sass/spectre/_dropdowns.scss +36 -0
  34. data/_sass/spectre/_empty.scss +21 -0
  35. data/_sass/spectre/_filters.scss +37 -0
  36. data/_sass/spectre/_forms.scss +514 -0
  37. data/_sass/spectre/_icons.scss +5 -0
  38. data/_sass/spectre/_labels.scss +34 -0
  39. data/_sass/spectre/_layout.scss +424 -0
  40. data/_sass/spectre/_media.scss +75 -0
  41. data/_sass/spectre/_menus.scss +56 -0
  42. data/_sass/spectre/_meters.scss +57 -0
  43. data/_sass/spectre/_mixins.scss +186 -0
  44. data/_sass/spectre/_modals.scss +82 -0
  45. data/_sass/spectre/_navbar.scss +29 -0
  46. data/_sass/spectre/_navs.scss +34 -0
  47. data/_sass/spectre/_normalize.scss +446 -0
  48. data/_sass/spectre/_off-canvas.scss +82 -0
  49. data/_sass/spectre/_pagination.scss +61 -0
  50. data/_sass/spectre/_panels.scss +23 -0
  51. data/_sass/spectre/_parallax.scss +129 -0
  52. data/_sass/spectre/_popovers.scss +70 -0
  53. data/_sass/spectre/_progress.scss +45 -0
  54. data/_sass/spectre/_sliders.scss +93 -0
  55. data/_sass/spectre/_steps.scss +70 -0
  56. data/_sass/spectre/_tables.scss +45 -0
  57. data/_sass/spectre/_tabs.scss +66 -0
  58. data/_sass/spectre/_tiles.scss +38 -0
  59. data/_sass/spectre/_timelines.scss +54 -0
  60. data/_sass/spectre/_toasts.scss +42 -0
  61. data/_sass/spectre/_tooltips.scss +79 -0
  62. data/_sass/spectre/_typography.scss +128 -0
  63. data/_sass/spectre/_utilities.scss +8 -0
  64. data/_sass/spectre/_variables.scss +105 -0
  65. data/_sass/spectre/icons/_icons-action.scss +316 -0
  66. data/_sass/spectre/icons/_icons-core.scss +53 -0
  67. data/_sass/spectre/icons/_icons-navigation.scss +133 -0
  68. data/_sass/spectre/icons/_icons-object.scss +176 -0
  69. data/_sass/spectre/spectre-exp.scss +16 -0
  70. data/_sass/spectre/spectre-icons.scss +10 -0
  71. data/_sass/spectre/utilities/_colors.scss +29 -0
  72. data/_sass/spectre/utilities/_cursors.scss +24 -0
  73. data/_sass/spectre/utilities/_display.scss +44 -0
  74. data/_sass/spectre/utilities/_divider.scss +50 -0
  75. data/_sass/spectre/utilities/_loading.scss +34 -0
  76. data/_sass/spectre/utilities/_position.scss +50 -0
  77. data/_sass/spectre/utilities/_shapes.scss +8 -0
  78. data/_sass/spectre/utilities/_text.scss +64 -0
  79. data/assets/css/main.scss +18 -0
  80. metadata +212 -0
@@ -0,0 +1,206 @@
1
+ // Calendars
2
+ .calendar {
3
+ border: $border-width solid $border-color;
4
+ border-radius: $border-radius;
5
+ display: block;
6
+ min-width: 280px;
7
+ text-align: center;
8
+
9
+ .calendar-nav {
10
+ align-items: center;
11
+ background: $bg-color;
12
+ border-top-left-radius: $border-radius;
13
+ border-top-right-radius: $border-radius;
14
+ display: flex;
15
+ font-size: $font-size-lg;
16
+ padding: $layout-spacing;
17
+ }
18
+
19
+ .calendar-header,
20
+ .calendar-body {
21
+ display: flex;
22
+ flex-wrap: wrap;
23
+ justify-content: center;
24
+ padding: $layout-spacing 0;
25
+
26
+ .calendar-date {
27
+ flex: 0 0 14.28%; // 7 calendar-items each row
28
+ max-width: 14.28%;
29
+ }
30
+ }
31
+
32
+ .calendar-header {
33
+ background: $bg-color;
34
+ border-bottom: $border-width solid $border-color;
35
+ color: $gray-color;
36
+ font-size: $font-size-sm;
37
+ }
38
+
39
+ .calendar-body {
40
+ color: $gray-color-dark;
41
+ }
42
+
43
+ .calendar-date {
44
+ border: 0;
45
+ padding: $unit-1;
46
+
47
+ .date-item {
48
+ @include control-transition();
49
+ appearance: none;
50
+ background: transparent;
51
+ border: $border-width solid transparent;
52
+ border-radius: 50%;
53
+ color: $gray-color-dark;
54
+ cursor: pointer;
55
+ font-size: $font-size-sm;
56
+ height: $unit-7;
57
+ line-height: $unit-5;
58
+ outline: none;
59
+ padding: $unit-h;
60
+ position: relative;
61
+ text-align: center;
62
+ text-decoration: none;
63
+ vertical-align: middle;
64
+ white-space: nowrap;
65
+ width: $unit-7;
66
+
67
+ &.date-today {
68
+ border-color: $secondary-color-dark;
69
+ color: $primary-color;
70
+ }
71
+
72
+ &:focus {
73
+ @include control-shadow();
74
+ }
75
+
76
+ &:focus,
77
+ &:hover {
78
+ background: $secondary-color-light;
79
+ border-color: $secondary-color-dark;
80
+ color: $primary-color;
81
+ text-decoration: none;
82
+ }
83
+ &:active,
84
+ &.active {
85
+ background: $primary-color-dark;
86
+ border-color: darken($primary-color-dark, 5%);
87
+ color: $light-color;
88
+ }
89
+
90
+ // Calendar badge support
91
+ &.badge {
92
+ &::after {
93
+ position: absolute;
94
+ top: 3px;
95
+ right: 3px;
96
+ transform: translate(50%, -50%);
97
+ }
98
+ }
99
+ }
100
+
101
+ &.disabled .date-item,
102
+ &.disabled .calendar-event,
103
+ .date-item:disabled,
104
+ .calendar-event:disabled {
105
+ cursor: default;
106
+ opacity: .25;
107
+ pointer-events: none;
108
+ }
109
+ }
110
+
111
+ .calendar-range {
112
+ position: relative;
113
+
114
+ &::before {
115
+ background: $secondary-color;
116
+ content: "";
117
+ height: $unit-7;
118
+ left: 0;
119
+ position: absolute;
120
+ right: 0;
121
+ top: 50%;
122
+ transform: translateY(-50%);
123
+ }
124
+ &.range-start {
125
+ &::before {
126
+ left: 50%;
127
+ }
128
+ }
129
+ &.range-end {
130
+ &::before {
131
+ right: 50%;
132
+ }
133
+ }
134
+
135
+ .date-item {
136
+ color: $primary-color;
137
+ }
138
+ }
139
+
140
+ &.calendar-lg {
141
+ .calendar-body {
142
+ padding: 0;
143
+
144
+ .calendar-date {
145
+ border-bottom: $border-width solid $border-color;
146
+ border-right: $border-width solid $border-color;
147
+ display: flex;
148
+ flex-direction: column;
149
+ height: 5.5rem;
150
+ padding: 0;
151
+
152
+ &:nth-child(7n) {
153
+ border-right: 0;
154
+ }
155
+ &:nth-last-child(-n+7) {
156
+ border-bottom: 0;
157
+ }
158
+ }
159
+ }
160
+
161
+ .date-item {
162
+ align-self: flex-end;
163
+ height: $unit-7;
164
+ margin-right: $layout-spacing-sm;
165
+ margin-top: $layout-spacing-sm;
166
+ }
167
+
168
+ .calendar-range {
169
+ &::before {
170
+ top: 19px;
171
+ }
172
+ &.range-start {
173
+ &::before {
174
+ left: auto;
175
+ width: 19px;
176
+ }
177
+ }
178
+ &.range-end {
179
+ &::before {
180
+ right: 19px;
181
+ }
182
+ }
183
+ }
184
+
185
+ .calendar-events {
186
+ flex-grow: 1;
187
+ line-height: 1;
188
+ overflow-y: auto;
189
+ padding: $layout-spacing-sm;
190
+ }
191
+
192
+ .calendar-event {
193
+ background: $secondary-color;
194
+ border-radius: $border-radius;
195
+ color: $primary-color;
196
+ font-size: $font-size-sm;
197
+ display: block;
198
+ margin: $unit-h auto;
199
+ overflow: hidden;
200
+ padding: 3px 4px;
201
+ text-align: left;
202
+ text-overflow: ellipsis;
203
+ white-space: nowrap;
204
+ }
205
+ }
206
+ }
@@ -0,0 +1,39 @@
1
+ // Cards
2
+ .card {
3
+ background: $bg-color-light;
4
+ border: $border-width solid $border-color;
5
+ border-radius: $border-radius;
6
+ display: flex;
7
+ flex-direction: column;
8
+
9
+ .card-header,
10
+ .card-body,
11
+ .card-footer {
12
+ padding: $layout-spacing-lg;
13
+ padding-bottom: 0;
14
+
15
+ &:last-child {
16
+ padding-bottom: $layout-spacing-lg;
17
+ }
18
+ }
19
+
20
+ .card-image {
21
+ padding-top: $layout-spacing-lg;
22
+
23
+ &:first-child {
24
+ padding-top: 0;
25
+
26
+ img {
27
+ border-top-left-radius: $border-radius;
28
+ border-top-right-radius: $border-radius;
29
+ }
30
+ }
31
+
32
+ &:last-child {
33
+ img {
34
+ border-bottom-left-radius: $border-radius;
35
+ border-bottom-right-radius: $border-radius;
36
+ }
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,124 @@
1
+ // Carousels
2
+ .carousel {
3
+ background: $bg-color;
4
+ display: block;
5
+ overflow: hidden;
6
+ position: relative;
7
+ width: 100%;
8
+
9
+ .carousel-container {
10
+ height: 100%;
11
+ left: 0;
12
+ position: relative;
13
+ &::before {
14
+ content: "";
15
+ display: block;
16
+ padding-bottom: 56.25%;
17
+ }
18
+
19
+ .carousel-item {
20
+ animation: carousel-slideout 1s ease-in-out 1;
21
+ height: 100%;
22
+ left: 0;
23
+ margin: 0;
24
+ opacity: 0;
25
+ position: absolute;
26
+ top: 0;
27
+ width: 100%;
28
+
29
+ &:hover {
30
+ .item-prev,
31
+ .item-next {
32
+ opacity: 1;
33
+ }
34
+ }
35
+ }
36
+
37
+ .item-prev,
38
+ .item-next {
39
+ background: rgba($gray-color-light, .25);
40
+ border-color: rgba($gray-color-light, .5);
41
+ color: $gray-color-light;
42
+ opacity: 0;
43
+ position: absolute;
44
+ top: 50%;
45
+ transition: all .4s ease;
46
+ transform: translateY(-50%);
47
+ z-index: $zindex-2;
48
+ }
49
+ .item-prev {
50
+ left: 1rem;
51
+ }
52
+ .item-next {
53
+ right: 1rem;
54
+ }
55
+ }
56
+
57
+ .carousel-locator {
58
+ &:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1),
59
+ &:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2),
60
+ &:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3),
61
+ &:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) {
62
+ animation: carousel-slidein .75s ease-in-out 1;
63
+ opacity: 1;
64
+ z-index: $zindex-1;
65
+ }
66
+ &:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1),
67
+ &:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2),
68
+ &:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3),
69
+ &:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) {
70
+ color: $gray-color-light;
71
+ }
72
+ }
73
+
74
+ .carousel-nav {
75
+ bottom: $layout-spacing;
76
+ display: flex;
77
+ justify-content: center;
78
+ left: 50%;
79
+ position: absolute;
80
+ transform: translateX(-50%);
81
+ width: 10rem;
82
+ z-index: $zindex-2;
83
+
84
+ .nav-item {
85
+ color: rgba($gray-color-light, .5);
86
+ display: block;
87
+ flex: 1 0 auto;
88
+ height: $unit-8;
89
+ margin: $unit-1;
90
+ max-width: 2.5rem;
91
+ position: relative;
92
+
93
+ &::before {
94
+ background: currentColor;
95
+ content: "";
96
+ display: block;
97
+ height: $unit-h;
98
+ position: absolute;
99
+ top: .5rem;
100
+ width: 100%;
101
+ }
102
+ }
103
+ }
104
+ }
105
+
106
+ @keyframes carousel-slidein {
107
+ 0% {
108
+ transform: translateX(100%);
109
+ }
110
+ 100% {
111
+ transform: translateX(0);
112
+ }
113
+ }
114
+
115
+ @keyframes carousel-slideout {
116
+ 0% {
117
+ opacity: 1;
118
+ transform: translateX(0);
119
+ }
120
+ 100% {
121
+ opacity: 1;
122
+ transform: translateX(-50%);
123
+ }
124
+ }
@@ -0,0 +1,26 @@
1
+ // Chips
2
+ .chip {
3
+ align-items: center;
4
+ background: $bg-color-dark;
5
+ border-radius: 5rem;
6
+ color: $gray-color-dark;
7
+ display: inline-flex;
8
+ font-size: 90%;
9
+ height: $unit-6;
10
+ line-height: $unit-4;
11
+ margin: $unit-h;
12
+ max-width: 100%;
13
+ padding: $unit-1 $unit-2;
14
+ text-decoration: none;
15
+ vertical-align: middle;
16
+
17
+ &.active {
18
+ background: $primary-color;
19
+ color: $light-color;
20
+ }
21
+
22
+ .avatar {
23
+ margin-left: -$unit-2;
24
+ margin-right: $unit-1;
25
+ }
26
+ }
@@ -0,0 +1,31 @@
1
+ // Codes
2
+ code {
3
+ @include label-base();
4
+ @include label-variant($code-color, lighten($code-color, 33%));
5
+ font-size: 85%;
6
+ }
7
+
8
+ .code {
9
+ border-radius: $border-radius;
10
+ color: $body-font-color;
11
+ position: relative;
12
+
13
+ &::before {
14
+ color: $gray-color;
15
+ content: attr(data-lang);
16
+ font-size: $font-size-sm;
17
+ position: absolute;
18
+ right: $layout-spacing;
19
+ top: $unit-h;
20
+ }
21
+
22
+ code {
23
+ background: $bg-color;
24
+ color: inherit;
25
+ display: block;
26
+ line-height: 1.5;
27
+ overflow-x: auto;
28
+ padding: 1rem;
29
+ width: 100%;
30
+ }
31
+ }
@@ -0,0 +1,114 @@
1
+ // Image comparison slider
2
+ // Credit: http://codepen.io/solipsistacp/pen/Gpmaq
3
+ .comparison-slider {
4
+ height: 50vh;
5
+ overflow: hidden;
6
+ position: relative;
7
+ width: 100%;
8
+
9
+ .comparison-before,
10
+ .comparison-after {
11
+ height: 100%;
12
+ left: 0;
13
+ margin: 0;
14
+ overflow: hidden;
15
+ position: absolute;
16
+ top: 0;
17
+
18
+ img {
19
+ height: 100%;
20
+ object-fit: none;
21
+ object-position: left center;
22
+ position: absolute;
23
+ width: 100%;
24
+ }
25
+ }
26
+
27
+ .comparison-before {
28
+ width: 100%;
29
+ z-index: 1;
30
+
31
+ .comparison-label {
32
+ right: $unit-4;
33
+ }
34
+ }
35
+
36
+ .comparison-after {
37
+ max-width: 100%;
38
+ min-width: 0;
39
+ z-index: 2;
40
+
41
+ &::before {
42
+ background: transparent;
43
+ content: "";
44
+ cursor: default;
45
+ height: 100%;
46
+ left: 0;
47
+ position: absolute;
48
+ right: $unit-4;
49
+ top: 0;
50
+ z-index: $zindex-0;
51
+ }
52
+
53
+ &::after {
54
+ background: currentColor;
55
+ border-radius: 50%;
56
+ box-shadow: 0 -5px, 0 5px;
57
+ color: $light-color;
58
+ content: "";
59
+ height: 3px;
60
+ position: absolute;
61
+ right: $unit-2;
62
+ top: 50%;
63
+ transform: translate(50%, -50%);
64
+ width: 3px;
65
+ }
66
+
67
+ .comparison-label {
68
+ left: $unit-4;
69
+ }
70
+ }
71
+
72
+ .comparison-resizer {
73
+ animation: first-run 1.5s 1 ease-in-out;
74
+ cursor: ew-resize;
75
+ height: $unit-4;
76
+ left: 0;
77
+ max-width: 100%;
78
+ min-width: $unit-4;
79
+ opacity: 0;
80
+ outline: none;
81
+ position: relative;
82
+ resize: horizontal;
83
+ top: 50%;
84
+ transform: translateY(-50%) scaleY(30);
85
+ width: 0;
86
+ }
87
+
88
+ .comparison-label {
89
+ background: rgba($dark-color, .5);
90
+ bottom: $unit-4;
91
+ color: $light-color;
92
+ padding: $unit-1 $unit-2;
93
+ position: absolute;
94
+ user-select: none;
95
+ }
96
+ }
97
+
98
+ @keyframes first-run {
99
+ 0% {
100
+ width: 0;
101
+ }
102
+ 25% {
103
+ width: $unit-12;
104
+ }
105
+ 50% {
106
+ width: $unit-4;
107
+ }
108
+ 75% {
109
+ width: $unit-6;
110
+ }
111
+ 100% {
112
+ width: 0;
113
+ }
114
+ }