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,75 @@
1
+ // Media
2
+ // Image responsive
3
+ .img-responsive {
4
+ display: block;
5
+ height: auto;
6
+ max-width: 100%;
7
+ }
8
+
9
+ // object-fit support is coming to Microsoft Edge
10
+ // https://developer.microsoft.com/en-us/microsoft-edge/platform/status/objectfitandobjectposition/
11
+ .img-fit-cover {
12
+ object-fit: cover;
13
+ }
14
+
15
+ .img-fit-contain {
16
+ object-fit: contain;
17
+ }
18
+
19
+ // Video responsive
20
+ .video-responsive {
21
+ display: block;
22
+ overflow: hidden;
23
+ padding: 0;
24
+ position: relative;
25
+ width: 100%;
26
+ &::before {
27
+ content: "";
28
+ display: block;
29
+ padding-bottom: 56.25%; // Default ratio 16:9, you can calculate this value by dividing 9 by 16
30
+ }
31
+
32
+ iframe,
33
+ object,
34
+ embed {
35
+ border: 0;
36
+ bottom: 0;
37
+ height: 100%;
38
+ left: 0;
39
+ position: absolute;
40
+ right: 0;
41
+ top: 0;
42
+ width: 100%;
43
+ }
44
+ }
45
+
46
+ video.video-responsive {
47
+ height: auto;
48
+ max-width: 100%;
49
+
50
+ &::before {
51
+ content: none;
52
+ }
53
+ }
54
+
55
+ .video-responsive-4-3 {
56
+ &::before {
57
+ padding-bottom: 75%; // Ratio 4:3
58
+ }
59
+ }
60
+
61
+ .video-responsive-1-1 {
62
+ &::before {
63
+ padding-bottom: 100%; // Ratio 1:1
64
+ }
65
+ }
66
+
67
+ // Figure
68
+ .figure {
69
+ margin: 0 0 $layout-spacing 0;
70
+
71
+ .figure-caption {
72
+ color: $gray-color-dark;
73
+ margin-top: $layout-spacing;
74
+ }
75
+ }
@@ -0,0 +1,56 @@
1
+ // Menus
2
+ .menu {
3
+ @include shadow-variant(.05rem);
4
+ background: $bg-color-light;
5
+ border-radius: $border-radius;
6
+ list-style: none;
7
+ margin: 0;
8
+ min-width: $control-min-width;
9
+ padding: $unit-2;
10
+ transform: translateY($layout-spacing-sm);
11
+ z-index: $zindex-1;
12
+
13
+ &.menu-nav {
14
+ background: transparent;
15
+ box-shadow: none;
16
+ }
17
+
18
+ .menu-item {
19
+ margin-top: 0;
20
+ padding: 0 $unit-2;
21
+ text-decoration: none;
22
+ user-select: none;
23
+
24
+ & > a {
25
+ border-radius: $border-radius;
26
+ color: inherit;
27
+ display: block;
28
+ margin: 0 (-$unit-2);
29
+ padding: $unit-1 $unit-2;
30
+ text-decoration: none;
31
+ &:focus,
32
+ &:hover {
33
+ background: $secondary-color;
34
+ color: $primary-color;
35
+ }
36
+ &:active,
37
+ &.active {
38
+ background: $secondary-color;
39
+ color: $primary-color;
40
+ }
41
+ }
42
+
43
+ & + .menu-item {
44
+ margin-top: $unit-1;
45
+ }
46
+ }
47
+
48
+ .menu-badge {
49
+ float: right;
50
+ padding: $unit-1 0;
51
+
52
+ .btn {
53
+ margin-top: -$unit-h;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,57 @@
1
+ // Meters
2
+ // Credit: https://css-tricks.com/html5-meter-element/
3
+ .meter {
4
+ appearance: none;
5
+ background: $bg-color;
6
+ border: 0;
7
+ border-radius: $border-radius;
8
+ display: block;
9
+ width: 100%;
10
+ height: $unit-4;
11
+
12
+ &::-webkit-meter-inner-element {
13
+ display: block;
14
+ }
15
+
16
+ &::-webkit-meter-bar,
17
+ &::-webkit-meter-optimum-value,
18
+ &::-webkit-meter-suboptimum-value,
19
+ &::-webkit-meter-even-less-good-value {
20
+ border-radius: $border-radius;
21
+ }
22
+
23
+ &::-webkit-meter-bar {
24
+ background: $bg-color;
25
+ }
26
+
27
+ &::-webkit-meter-optimum-value {
28
+ background: $success-color;
29
+ }
30
+
31
+ &::-webkit-meter-suboptimum-value {
32
+ background: $warning-color;
33
+ }
34
+
35
+ &::-webkit-meter-even-less-good-value {
36
+ background: $error-color;
37
+ }
38
+
39
+ &::-moz-meter-bar,
40
+ &:-moz-meter-optimum,
41
+ &:-moz-meter-sub-optimum,
42
+ &:-moz-meter-sub-sub-optimum {
43
+ border-radius: $border-radius;
44
+ }
45
+
46
+ &:-moz-meter-optimum::-moz-meter-bar {
47
+ background: $success-color;
48
+ }
49
+
50
+ &:-moz-meter-sub-optimum::-moz-meter-bar {
51
+ background: $warning-color;
52
+ }
53
+
54
+ &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
55
+ background: $error-color;
56
+ }
57
+ }
@@ -0,0 +1,186 @@
1
+ // Mixins
2
+ // Avatar mixin
3
+ @mixin avatar-base($size: $unit-8) {
4
+ font-size: $size / 2;
5
+ height: $size;
6
+ width: $size;
7
+ }
8
+
9
+ // Background color utility mixin
10
+ @mixin bg-color-variant($name: ".bg-primary", $color: $primary-color) {
11
+ #{$name} {
12
+ background: $color;
13
+ }
14
+ }
15
+
16
+ // Button variant mixin
17
+ @mixin button-variant($color: $primary-color) {
18
+ background: $color;
19
+ border-color: darken($color, 3%);
20
+ color: $light-color;
21
+ &:focus {
22
+ @include control-shadow($color);
23
+ }
24
+ &:focus,
25
+ &:hover {
26
+ background: darken($color, 2%);
27
+ border-color: darken($color, 5%);
28
+ color: $light-color;
29
+ }
30
+ &:active,
31
+ &.active {
32
+ background: darken($color, 7%);
33
+ border-color: darken($color, 10%);
34
+ color: $light-color;
35
+ }
36
+ &.loading {
37
+ &::after {
38
+ border-bottom-color: $light-color;
39
+ border-left-color: $light-color;
40
+ }
41
+ }
42
+ }
43
+
44
+ @mixin button-outline-variant($color: $primary-color) {
45
+ background: $light-color;
46
+ border-color: $color;
47
+ color: $color;
48
+ &:focus {
49
+ @include control-shadow($color);
50
+ }
51
+ &:focus,
52
+ &:hover {
53
+ background: lighten($color, 50%);
54
+ border-color: darken($color, 2%);
55
+ color: $color;
56
+ }
57
+ &:active,
58
+ &.active {
59
+ background: $color;
60
+ border-color: darken($color, 5%);
61
+ color: $light-color;
62
+ }
63
+ &.loading {
64
+ &::after {
65
+ border-bottom-color: $color;
66
+ border-left-color: $color;
67
+ }
68
+ }
69
+ }
70
+
71
+ // Clearfix mixin
72
+ @mixin clearfix() {
73
+ &::after {
74
+ clear: both;
75
+ content: "";
76
+ display: table;
77
+ }
78
+ }
79
+
80
+ // Component focus shadow
81
+ @mixin control-shadow($color: $primary-color) {
82
+ box-shadow: 0 0 0 .1rem rgba($color, .2);
83
+ }
84
+
85
+ // Component transition
86
+ @mixin control-transition() {
87
+ transition: all .2s ease;
88
+ }
89
+
90
+ // Label base style
91
+ @mixin label-base() {
92
+ border-radius: $border-radius;
93
+ line-height: 1.2;
94
+ padding: .1rem .15rem;
95
+ }
96
+
97
+ @mixin label-variant($color: $light-color, $bg-color: $primary-color) {
98
+ background: $bg-color;
99
+ color: $color;
100
+ }
101
+
102
+ // Margin utility mixin
103
+ @mixin margin-variant($id: 1, $size: $unit-1) {
104
+ .m-#{$id} {
105
+ margin: $size;
106
+ }
107
+ .mb-#{$id} {
108
+ margin-bottom: $size;
109
+ }
110
+ .ml-#{$id} {
111
+ margin-left: $size;
112
+ }
113
+ .mr-#{$id} {
114
+ margin-right: $size;
115
+ }
116
+ .mt-#{$id} {
117
+ margin-top: $size;
118
+ }
119
+ .mx-#{$id} {
120
+ margin-left: $size;
121
+ margin-right: $size;
122
+ }
123
+ .my-#{$id} {
124
+ margin-bottom: $size;
125
+ margin-top: $size;
126
+ }
127
+ }
128
+
129
+ // Padding utility mixin
130
+ @mixin padding-variant($id: 1, $size: $unit-1) {
131
+ .p-#{$id} {
132
+ padding: $size;
133
+ }
134
+ .pb-#{$id} {
135
+ padding-bottom: $size;
136
+ }
137
+ .pl-#{$id} {
138
+ padding-left: $size;
139
+ }
140
+ .pr-#{$id} {
141
+ padding-right: $size;
142
+ }
143
+ .pt-#{$id} {
144
+ padding-top: $size;
145
+ }
146
+ .px-#{$id} {
147
+ padding-left: $size;
148
+ padding-right: $size;
149
+ }
150
+ .py-#{$id} {
151
+ padding-bottom: $size;
152
+ padding-top: $size;
153
+ }
154
+ }
155
+
156
+ // Shadow mixin
157
+ @mixin shadow-variant($offset) {
158
+ box-shadow: 0 $offset ($offset + .05rem) * 2 rgba($dark-color, .3);
159
+ }
160
+
161
+ // Text color utility mixin
162
+ @mixin text-color-variant($name: ".text-primary", $color: $primary-color) {
163
+ #{$name} {
164
+ color: $color;
165
+ }
166
+
167
+ a#{$name} {
168
+ &:focus,
169
+ &:hover {
170
+ color: darken($color, 5%);
171
+ }
172
+ }
173
+ }
174
+
175
+ // Text Ellipsis
176
+ @mixin text-ellipsis() {
177
+ overflow: hidden;
178
+ text-overflow: ellipsis;
179
+ white-space: nowrap;
180
+ }
181
+
182
+ // Toast variant mixin
183
+ @mixin toast-variant($color: $dark-color) {
184
+ background: rgba($color, .9);
185
+ border-color: $color;
186
+ }
@@ -0,0 +1,82 @@
1
+ // Modals
2
+ .modal {
3
+ align-items: center;
4
+ bottom: 0;
5
+ display: none;
6
+ justify-content: center;
7
+ left: 0;
8
+ opacity: 0;
9
+ overflow: hidden;
10
+ padding: $layout-spacing;
11
+ position: fixed;
12
+ right: 0;
13
+ top: 0;
14
+
15
+ &:target,
16
+ &.active {
17
+ display: flex;
18
+ opacity: 1;
19
+ z-index: $zindex-4;
20
+
21
+ .modal-overlay {
22
+ background: rgba($bg-color, .75);
23
+ bottom: 0;
24
+ cursor: default;
25
+ display: block;
26
+ left: 0;
27
+ position: absolute;
28
+ right: 0;
29
+ top: 0;
30
+ }
31
+
32
+ .modal-container {
33
+ animation: slide-down .2s ease 1;
34
+ max-width: 640px;
35
+ width: 100%;
36
+ z-index: $zindex-0;
37
+ }
38
+ }
39
+
40
+ &.modal-sm {
41
+ .modal-container {
42
+ max-width: 320px;
43
+ padding: 0 $unit-2;
44
+ }
45
+ }
46
+
47
+ &.modal-lg {
48
+ .modal-overlay {
49
+ background: $bg-color-light;
50
+ }
51
+
52
+ .modal-container {
53
+ box-shadow: none;
54
+ max-width: 960px;
55
+ }
56
+ }
57
+ }
58
+
59
+ .modal-container {
60
+ @include shadow-variant(.2rem);
61
+ background: $bg-color-light;
62
+ border-radius: $border-radius;
63
+ display: block;
64
+ padding: 0 $unit-4;
65
+ text-align: left;
66
+
67
+ .modal-header {
68
+ padding: $unit-4;
69
+ }
70
+
71
+ .modal-body {
72
+ max-height: 50vh;
73
+ overflow-y: auto;
74
+ padding: $unit-4;
75
+ position: relative;
76
+ }
77
+
78
+ .modal-footer {
79
+ padding: $unit-4;
80
+ text-align: right;
81
+ }
82
+ }