jekyll-theme-twail 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +41 -0
  4. data/_config.yml +98 -0
  5. data/_includes/analytics-providers/custom.html +3 -0
  6. data/_includes/analytics-providers/google-gtag.html +9 -0
  7. data/_includes/analytics-providers/google-universal.html +7 -0
  8. data/_includes/analytics-providers/google.html +14 -0
  9. data/_includes/analytics.html +13 -0
  10. data/_includes/comments-providers/custom.html +3 -0
  11. data/_includes/comments-providers/disqus.html +16 -0
  12. data/_includes/comments-providers/utterances.html +11 -0
  13. data/_includes/comments.html +8 -0
  14. data/_includes/footer.html +6 -0
  15. data/_includes/head.html +19 -0
  16. data/_includes/head__seo.html +101 -0
  17. data/_includes/pager.html +38 -0
  18. data/_includes/postlist.html +37 -0
  19. data/_includes/profile.html +32 -0
  20. data/_includes/tagnav.html +10 -0
  21. data/_layouts/autopage_tags.html +5 -0
  22. data/_layouts/default.html +30 -0
  23. data/_layouts/home.html +5 -0
  24. data/_layouts/post.html +50 -0
  25. data/_sass/_custom.scss +4 -0
  26. data/_sass/_variables.scss +144 -0
  27. data/_sass/components/_comments.scss +10 -0
  28. data/_sass/components/_footer.scss +20 -0
  29. data/_sass/components/_pager.scss +39 -0
  30. data/_sass/components/_postlist.scss +76 -0
  31. data/_sass/components/_profile.scss +71 -0
  32. data/_sass/components/_tagnav.scss +46 -0
  33. data/_sass/main.scss +56 -0
  34. data/_sass/pages/_deafult.scss +41 -0
  35. data/_sass/pages/_post.scss +87 -0
  36. data/_sass/vendors/_buttons.scss +95 -0
  37. data/_sass/vendors/_forms.scss +360 -0
  38. data/_sass/vendors/_markdown-body.scss +960 -0
  39. data/_sass/vendors/_mixins.scss +37 -0
  40. data/_sass/vendors/_notices.scss +92 -0
  41. data/_sass/vendors/_syntax.scss +348 -0
  42. data/assets/css/styles.scss +5 -0
  43. data/assets/images/500x300.png +0 -0
  44. data/assets/images/avatar.png +0 -0
  45. data/assets/images/jekyll-theme-twail.png +0 -0
  46. data/assets/images/unsplash-image-1.jpg +0 -0
  47. data/assets/images/unsplash-image-2.jpg +0 -0
  48. data/assets/images/unsplash-image-3.jpg +0 -0
  49. data/assets/images/unsplash-image-4.jpg +0 -0
  50. metadata +148 -0
@@ -0,0 +1,144 @@
1
+ /*
2
+ Typography
3
+ ========================================================================== */
4
+ $font-main: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', 'Helvetica Neue', 'Lucida Grande', Arial,
5
+ sans-serif !default;
6
+ $font-codeblock: Monaco, Consolas, 'Lucida Console', monospace !default;
7
+
8
+ $font-size-1: 1.75em !default;
9
+ $font-size-2: 1.5em !default;
10
+ $font-size-3: 1.25em !default;
11
+ $font-size-4: 1em !default;
12
+ $font-size-5: 0.875em !default;
13
+ $font-size-6: 0.85em !default;
14
+ $font-size-7: 0.75em !default;
15
+
16
+ /*
17
+ Colors
18
+ ========================================================================== */
19
+ $gray: #7a8288 !default;
20
+ $dark-gray: mix(#000, $gray, 50%) !default;
21
+ $darker-gray: mix(#000, $gray, 60%) !default;
22
+ $light-gray: mix(#fff, $gray, 50%) !default;
23
+ $lighter-gray: mix(#fff, $gray, 90%) !default;
24
+
25
+ $color-body-text: #6e7173 !default;
26
+ $color-body-accent-text: #3d4144 !default;
27
+ $color-body-background: #f5f5fa !default;
28
+ $color-body-tag-text: #3d4144 !default;
29
+ $color-body-tag-background: #fff !default;
30
+
31
+ $color-card-text: #3d4144 !default;
32
+ $color-card-sub-text: #bababa !default;
33
+ $color-card-accent-text: #000 !default;
34
+ $color-card-background: #fff !default;
35
+ $color-selected-card-background: #eaeaea !default;
36
+ $color-card-tag-text: #fff !default;
37
+ $color-card-tag-background: #2c3e50 !default;
38
+
39
+ /* Github-markdown-css colors */
40
+ $color-prettylights-syntax-comment: #6e7781 !default;
41
+ $color-prettylights-syntax-constant: #0550ae !default;
42
+ $color-prettylights-syntax-entity: #8250df !default;
43
+ $color-prettylights-syntax-storage-modifier-import: #24292f !default;
44
+ $color-prettylights-syntax-entity-tag: #116329 !default;
45
+ $color-prettylights-syntax-keyword: #cf222e !default;
46
+ $color-prettylights-syntax-string: #0a3069 !default;
47
+ $color-prettylights-syntax-variable: #953800 !default;
48
+ $color-prettylights-syntax-brackethighlighter-unmatched: #82071e !default;
49
+ $color-prettylights-syntax-invalid-illegal-text: #f6f8fa !default;
50
+ $color-prettylights-syntax-invalid-illegal-bg: #82071e !default;
51
+ $color-prettylights-syntax-carriage-return-text: #f6f8fa !default;
52
+ $color-prettylights-syntax-carriage-return-bg: #cf222e !default;
53
+ $color-prettylights-syntax-string-regexp: #116329 !default;
54
+ $color-prettylights-syntax-markup-list: #3b2300 !default;
55
+ $color-prettylights-syntax-markup-heading: #0550ae !default;
56
+ $color-prettylights-syntax-markup-italic: #24292f !default;
57
+ $color-prettylights-syntax-markup-bold: #24292f !default;
58
+ $color-prettylights-syntax-markup-deleted-text: #82071e !default;
59
+ $color-prettylights-syntax-markup-deleted-bg: #ffebe9 !default;
60
+ $color-prettylights-syntax-markup-inserted-text: #116329 !default;
61
+ $color-prettylights-syntax-markup-inserted-bg: #dafbe1 !default;
62
+ $color-prettylights-syntax-markup-changed-text: #953800 !default;
63
+ $color-prettylights-syntax-markup-changed-bg: #ffd8b5 !default;
64
+ $color-prettylights-syntax-markup-ignored-text: #eaeef2 !default;
65
+ $color-prettylights-syntax-markup-ignored-bg: #0550ae !default;
66
+ $color-prettylights-syntax-meta-diff-range: #8250df !default;
67
+ $color-prettylights-syntax-brackethighlighter-angle: #57606a !default;
68
+ $color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f !default;
69
+ $color-prettylights-syntax-constant-other-reference-link: #0a3069 !default;
70
+ $color-fg-default: #24292f !default;
71
+ $color-fg-muted: #57606a !default;
72
+ $color-fg-subtle: #6e7781 !default;
73
+ $color-canvas-default: #ffffff !default;
74
+ $color-canvas-subtle: #f6f8fa !default;
75
+ $color-border-default: #d0d7de !default;
76
+ $color-border-muted: hsla(210, 18%, 87%, 1) !default;
77
+ $color-neutral-muted: rgba(175, 184, 193, 0.2) !default;
78
+ $color-accent-fg: #0969da !default;
79
+ $color-accent-emphasis: #0969da !default;
80
+ $color-attention-subtle: #fff8c5 !default;
81
+ $color-danger-fg: #cf222e !default;
82
+
83
+ /* Notices and buttons */
84
+ $color-notice-default: $light-gray !default;
85
+ $color-notice-primary: #6f777d !default;
86
+ $color-notice-info: #3b9cba !default;
87
+ $color-notice-success: #3fa63f !default;
88
+ $color-notice-warning: #d67f05 !default;
89
+ $color-notice-danger: #ee5f5b !default;
90
+ $color-info: #3b9cba !default;
91
+ $color-facebook: #3b5998 !default;
92
+ $color-twitter: #55acee !default;
93
+ $color-linkedin: #007bb6 !default;
94
+ $notice-background-mix: 80% !default;
95
+ $code-notice-background-mix: 90% !default;
96
+
97
+ /* Form */
98
+ $form-background-color: $lighter-gray !default;
99
+
100
+ /* Code */
101
+ $code-background-color: #f9f2f4 !default;
102
+ $code-color: #c7254e !default;
103
+
104
+ /* Codeblock syntax highlight */
105
+ $base00: #263238 !default;
106
+ $base01: #2e3c43 !default;
107
+ $base02: #314549 !default;
108
+ $base03: #546e7a !default;
109
+ $base04: #b2ccd6 !default;
110
+ $base05: #eeffff !default;
111
+ $base06: #eeffff !default;
112
+ $base07: #ffffff !default;
113
+ $base08: #f07178 !default;
114
+ $base09: #f78c6c !default;
115
+ $base0a: #ffcb6b !default;
116
+ $base0b: #c3e88d !default;
117
+ $base0c: #89ddff !default;
118
+ $base0d: #82aaff !default;
119
+ $base0e: #c792ea !default;
120
+ $base0f: #ff5370 !default;
121
+
122
+ /* YIQ color contrast */
123
+ $yiq-contrasted-dark-default: $dark-gray !default;
124
+ $yiq-contrasted-light-default: #fff !default;
125
+ $yiq-contrasted-threshold: 175 !default;
126
+ $yiq-debug: false !default;
127
+
128
+ /*
129
+ Box shadows
130
+ ========================================================================== */
131
+ $shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !default;
132
+ $shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !default;
133
+ $shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !default;
134
+ $shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !default;
135
+ $shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !default;
136
+ $shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !default;
137
+ $shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05) !default;
138
+
139
+ /*
140
+ Breakpoints
141
+ ========================================================================== */
142
+ $desktop-breakpoint: 1020px;
143
+ $tablet-breakpoint: 768px;
144
+ $mobile-breakpoint: 468px;
@@ -0,0 +1,10 @@
1
+ .comments-container {
2
+ background-color: $color-card-background;
3
+ border-radius: 10px;
4
+ box-shadow: $shadow-lg;
5
+ padding: 16px 24px;
6
+
7
+ @media screen and (max-width: $mobile-breakpoint) {
8
+ padding: 16px;
9
+ }
10
+ }
@@ -0,0 +1,20 @@
1
+ .footer {
2
+ margin-top: 48px;
3
+
4
+ a {
5
+ color: inherit;
6
+ }
7
+
8
+ .copyright {
9
+ font-size: 0.72rem;
10
+ font-weight: 600;
11
+ color: $color-body-accent-text;
12
+ margin-bottom: 5px;
13
+ }
14
+
15
+ .powerby {
16
+ font-size: 0.62rem;
17
+ font-weight: 400;
18
+ color: $color-body-text;
19
+ }
20
+ }
@@ -0,0 +1,39 @@
1
+ .pager {
2
+ width: 100%;
3
+ display: flex;
4
+ background-color: $color-card-background;
5
+ box-shadow: $shadow-md;
6
+ border-radius: 10px;
7
+ overflow: hidden;
8
+ list-style: none;
9
+ margin-top: 36px;
10
+
11
+ &__item {
12
+ flex: 1 1 0;
13
+ max-width: 20%;
14
+ color: $color-card-text;
15
+ text-align: center;
16
+ transition: background-color 0.2s;
17
+
18
+ &:not(.disabled):hover {
19
+ background-color: $color-selected-card-background;
20
+ }
21
+
22
+ &.selected {
23
+ color: $color-card-accent-text;
24
+ background-color: $color-selected-card-background;
25
+ }
26
+
27
+ &.disabled {
28
+ cursor: default;
29
+ }
30
+ }
31
+
32
+ &__link {
33
+ display: block;
34
+ width: 100%;
35
+ height: 100%;
36
+ color: inherit;
37
+ padding: 16px 0px;
38
+ }
39
+ }
@@ -0,0 +1,76 @@
1
+ .postlist {
2
+ .post {
3
+ width: 100%;
4
+ margin-bottom: 16px;
5
+ border-radius: 10px;
6
+ overflow: hidden;
7
+ background-color: $color-card-background;
8
+ box-shadow: $shadow-md;
9
+ transition: box-shadow 0.2s, transform 0.2s;
10
+
11
+ &:hover {
12
+ transform: translateY(-2px);
13
+ box-shadow: $shadow-xl;
14
+ }
15
+
16
+ &-cover {
17
+ width: 100%;
18
+ img {
19
+ width: 100%;
20
+ height: 160px;
21
+ object-fit: cover;
22
+ }
23
+ }
24
+
25
+ &-details {
26
+ width: 100%;
27
+ padding: 18px 24px 24px 24px;
28
+ }
29
+
30
+ &-tags {
31
+ display: flex;
32
+ list-style: none;
33
+ margin-bottom: 12px;
34
+ flex-wrap: wrap;
35
+ }
36
+
37
+ &-tag {
38
+ font-size: 0.68rem;
39
+ font-weight: 400;
40
+ padding: 6px 12px;
41
+ border-radius: 6px;
42
+ color: $color-card-tag-text;
43
+ background-color: $color-card-tag-background;
44
+ box-shadow: $shadow;
45
+ margin-right: 8px;
46
+ margin-bottom: 6px;
47
+ }
48
+
49
+ &-title {
50
+ font-size: 1.2rem;
51
+ font-weight: 600;
52
+ color: $color-card-accent-text;
53
+ margin-bottom: 12px;
54
+ }
55
+
56
+ &-description {
57
+ font-size: 0.9rem;
58
+ font-weight: 400;
59
+ color: $color-card-text;
60
+ margin-bottom: 14px;
61
+ }
62
+
63
+ &-time {
64
+ color: $color-card-sub-text;
65
+ font-weight: 400;
66
+ font-size: 0.8rem;
67
+ display: flex;
68
+ align-items: center;
69
+
70
+ i {
71
+ font-size: 1.02rem;
72
+ margin-right: 8px;
73
+ }
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,71 @@
1
+ .profile {
2
+ display: flex;
3
+ flex-direction: column;
4
+ margin-bottom: 36px;
5
+
6
+ @media screen and (max-width: $desktop-breakpoint) {
7
+ flex-direction: row;
8
+ align-items: center;
9
+ margin-bottom: 16px;
10
+ }
11
+
12
+ &__avatar {
13
+ width: 120px;
14
+ height: 120px;
15
+ margin: 0 0 12px 0;
16
+ flex-shrink: 0;
17
+
18
+ @media screen and (max-width: $desktop-breakpoint) {
19
+ margin: 0 16px 0 0;
20
+ }
21
+
22
+ @media screen and (max-width: $mobile-breakpoint) {
23
+ width: 98px;
24
+ height: 98px;
25
+ }
26
+
27
+ img {
28
+ width: 100%;
29
+ height: 100%;
30
+ border-radius: 100%;
31
+ object-fit: cover;
32
+ }
33
+ }
34
+
35
+ &__name {
36
+ font-size: 0.9rem;
37
+ font-weight: 600;
38
+ color: $color-body-accent-text;
39
+ }
40
+
41
+ &__description {
42
+ font-size: 0.8rem;
43
+ font-weight: 400;
44
+ color: $color-body-text;
45
+ margin: 8px 0;
46
+ }
47
+
48
+ &__socials {
49
+ list-style: none;
50
+ display: flex;
51
+ color: $color-body-text;
52
+
53
+ li {
54
+ margin-right: 8px;
55
+ transition: 0.2s;
56
+
57
+ &:hover {
58
+ filter: brightness(0);
59
+ }
60
+
61
+ a {
62
+ text-decoration: none;
63
+ color: inherit;
64
+
65
+ i {
66
+ font-size: 1.4rem;
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,46 @@
1
+ .tagnav {
2
+ @media screen and (max-width: $desktop-breakpoint) {
3
+ padding: 12px;
4
+ }
5
+
6
+ &__title {
7
+ display: flex;
8
+ font-weight: 600;
9
+ align-items: flex-end;
10
+ color: $color-body-accent-text;
11
+ margin-bottom: 8px;
12
+
13
+ i {
14
+ font-size: 1.4rem;
15
+ margin-right: 4px;
16
+ }
17
+
18
+ span {
19
+ font-size: 1rem;
20
+ }
21
+ }
22
+
23
+ &__wrapper {
24
+ display: flex;
25
+ flex-wrap: wrap;
26
+ }
27
+
28
+ &__item {
29
+ font-size: 0.68rem;
30
+ color: $color-body-tag-text;
31
+ background: $color-body-tag-background;
32
+ padding: 8px 20px;
33
+ margin-bottom: 8px;
34
+ margin-right: 4px;
35
+ text-decoration: none;
36
+ border-radius: 8px;
37
+ white-space: nowrap;
38
+ box-shadow: $shadow;
39
+ transition: box-shadow 0.2s, transform 0.2s;
40
+
41
+ &:hover {
42
+ box-shadow: $shadow-lg;
43
+ transform: translateY(-1px);
44
+ }
45
+ }
46
+ }
data/_sass/main.scss ADDED
@@ -0,0 +1,56 @@
1
+ @import '_variables';
2
+
3
+ @import 'vendors/mixins';
4
+ @import 'vendors/syntax';
5
+ @import 'vendors/notices';
6
+ @import 'vendors/markdown-body';
7
+ @import 'vendors/forms';
8
+ @import 'vendors/buttons';
9
+
10
+ @import 'components/profile';
11
+ @import 'components/tagnav';
12
+ @import 'components/postlist';
13
+ @import 'components/pager';
14
+ @import 'components/footer';
15
+ @import 'components/comments';
16
+
17
+ @import 'pages/deafult';
18
+ @import 'pages/post';
19
+
20
+ @import 'custom';
21
+
22
+ * {
23
+ box-sizing: border-box;
24
+ padding: 0;
25
+ margin: 0;
26
+ }
27
+
28
+ a {
29
+ text-decoration: none;
30
+ }
31
+
32
+ html {
33
+ font-size: 20px;
34
+
35
+ @media screen and (max-width: $tablet-breakpoint) {
36
+ font-size: 18px;
37
+ }
38
+ }
39
+
40
+ body {
41
+ font-family: $font-main;
42
+ min-width: 360px;
43
+ background-color: $color-body-background;
44
+ }
45
+
46
+ .main-container {
47
+ padding: 32px;
48
+
49
+ @media screen and (max-width: $tablet-breakpoint) {
50
+ padding: 24px;
51
+ }
52
+
53
+ @media screen and (max-width: $mobile-breakpoint) {
54
+ padding: 16px;
55
+ }
56
+ }
@@ -0,0 +1,41 @@
1
+ .main-container {
2
+ display: flex;
3
+ flex-direction: row;
4
+ max-width: 1180px;
5
+ margin: 0 auto;
6
+
7
+ @media screen and (max-width: $desktop-breakpoint) {
8
+ flex-direction: column;
9
+ }
10
+
11
+ &__aside {
12
+ width: 280px;
13
+ flex-shrink: 0;
14
+ flex-grow: 0;
15
+ word-break: break-all;
16
+ margin: 0 48px 0 0;
17
+
18
+ @media screen and (max-width: $desktop-breakpoint) {
19
+ width: 100%;
20
+ margin: 0 0 16px 0;
21
+ }
22
+ }
23
+
24
+ .content {
25
+ width: 0;
26
+ flex-grow: 1;
27
+
28
+ @media screen and (max-width: $desktop-breakpoint) {
29
+ width: 100%;
30
+ }
31
+ }
32
+ }
33
+
34
+ .section-title {
35
+ display: flex;
36
+ align-items: flex-end;
37
+ font-size: 1.2rem;
38
+ font-weight: 600;
39
+ color: $color-body-accent-text;
40
+ margin-bottom: 16px;
41
+ }
@@ -0,0 +1,87 @@
1
+ .main-container.post .tagnav {
2
+ @media screen and (max-width: $desktop-breakpoint) {
3
+ display: none;
4
+ }
5
+ }
6
+
7
+ .post-container {
8
+ background-color: $color-card-background;
9
+ border-radius: 10px;
10
+ box-shadow: $shadow-md;
11
+ overflow: hidden;
12
+ width: 100%;
13
+ margin-bottom: 16px;
14
+
15
+ .post-cover {
16
+ width: 100%;
17
+
18
+ img {
19
+ width: 100%;
20
+ max-height: 28vh;
21
+ object-fit: cover;
22
+ }
23
+ }
24
+
25
+ .post-summary {
26
+ padding: 24px 32px;
27
+
28
+ @media screen and (max-width: $mobile-breakpoint) {
29
+ padding: 24px;
30
+ }
31
+
32
+ .post-tags {
33
+ display: flex;
34
+ flex-wrap: wrap;
35
+ list-style: none;
36
+ margin-bottom: 12px;
37
+
38
+ .post-tag {
39
+ font-size: 0.68rem;
40
+ font-weight: 400;
41
+ padding: 6px 12px;
42
+ border-radius: 6px;
43
+ color: #fff;
44
+ background-color: #2c3e50;
45
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
46
+ margin-right: 8px;
47
+ margin-bottom: 6px;
48
+ }
49
+ }
50
+
51
+ .post-title {
52
+ color: $color-card-accent-text;
53
+ font-size: 1.32rem;
54
+ font-weight: 600;
55
+ margin-bottom: 8px;
56
+ }
57
+
58
+ .post-description {
59
+ color: $color-card-text;
60
+ font-size: 0.92rem;
61
+ font-weight: 400;
62
+ margin-bottom: 8px;
63
+ }
64
+
65
+ .post-time {
66
+ color: $color-card-sub-text;
67
+ font-weight: 400;
68
+ font-size: 0.8rem;
69
+ display: flex;
70
+ align-items: center;
71
+
72
+ i {
73
+ font-size: 1.02rem;
74
+ margin-right: 8px;
75
+ }
76
+ }
77
+ }
78
+
79
+ .post-content {
80
+ padding: 24px;
81
+ color: $color-card-text;
82
+
83
+ @media screen and (max-width: $mobile-breakpoint) {
84
+ padding: 24px 16px;
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,95 @@
1
+ .markdown-body {
2
+ /* ==========================================================================
3
+ BUTTONS
4
+ ========================================================================== */
5
+
6
+ /*
7
+ Default button
8
+ ========================================================================== */
9
+
10
+ .btn {
11
+ /* default */
12
+ display: inline-block;
13
+ margin-bottom: 0.25em;
14
+ padding: 0.5em 1em;
15
+ font-size: $font-size-6;
16
+ font-weight: bold;
17
+ text-align: center;
18
+ text-decoration: none;
19
+ border-width: 0;
20
+ border-radius: 4px;
21
+ cursor: pointer;
22
+ transition: background-color 0.2s;
23
+
24
+ &:hover {
25
+ text-decoration: none;
26
+ }
27
+
28
+ .icon {
29
+ margin-right: 0.5em;
30
+ }
31
+
32
+ .icon + .hidden {
33
+ margin-left: -0.5em; /* override for hidden text*/
34
+ }
35
+
36
+ /* button colors */
37
+ $buttoncolors: (primary, $color-notice-primary), (inverse, #fff), (light-outline, transparent),
38
+ (success, $color-notice-success), (warning, $color-notice-warning), (danger, $color-notice-danger),
39
+ (info, $color-info), (facebook, $color-facebook), (twitter, $color-twitter), (linkedin, $color-linkedin);
40
+
41
+ @each $buttoncolor, $color in $buttoncolors {
42
+ &--#{$buttoncolor} {
43
+ @include yiq-contrasted($color);
44
+ @if ($buttoncolor == inverse) {
45
+ border: 1px solid $color-border-default;
46
+ }
47
+ @if ($buttoncolor == light-outline) {
48
+ border: 1px solid #fff;
49
+ }
50
+
51
+ &:visited {
52
+ @include yiq-contrasted($color);
53
+ }
54
+
55
+ &:hover {
56
+ @include yiq-contrasted(mix(#000, $color, 20%));
57
+ }
58
+ }
59
+ }
60
+
61
+ /* fills width of parent container */
62
+ &--block {
63
+ display: block;
64
+ width: 100%;
65
+
66
+ + .btn--block {
67
+ margin-top: 0.25em;
68
+ }
69
+ }
70
+
71
+ /* disabled */
72
+ &--disabled {
73
+ pointer-events: none;
74
+ cursor: not-allowed;
75
+ filter: alpha(opacity=65);
76
+ box-shadow: none;
77
+ opacity: 0.65;
78
+ }
79
+
80
+ /* extra large button */
81
+ &--x-large {
82
+ font-size: $font-size-3;
83
+ }
84
+
85
+ /* large button */
86
+ &--large {
87
+ font-size: $font-size-4;
88
+ }
89
+
90
+ /* small button */
91
+ &--small {
92
+ font-size: $font-size-7;
93
+ }
94
+ }
95
+ }