vitrina 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +13 -0
  3. data/.github/FUNDING.yml +4 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.github/workflows/gempush.yml +41 -0
  7. data/.gitignore +7 -0
  8. data/.travis.yml +8 -0
  9. data/404.md +5 -0
  10. data/CHANGELOG.md +81 -0
  11. data/Gemfile +9 -0
  12. data/LICENSE +21 -0
  13. data/README.md +501 -0
  14. data/_config.yml +39 -0
  15. data/_data/general.json +133 -0
  16. data/_data/home.json +316 -0
  17. data/_data/links.json +34 -0
  18. data/_data/resume.json +80 -0
  19. data/_includes/foot.html +6 -0
  20. data/_includes/footer.html +21 -0
  21. data/_includes/head.html +13 -0
  22. data/_includes/header.html +63 -0
  23. data/_includes/pagination.html +75 -0
  24. data/_includes/util/grid_columns.html +49 -0
  25. data/_includes/util/item_content.html +8 -0
  26. data/_includes/util/items.html +69 -0
  27. data/_includes/util/navbar_items.html +82 -0
  28. data/_includes/util/prepend_link.html +5 -0
  29. data/_includes/util/timeline_cards.html +20 -0
  30. data/_layouts/blog.html +53 -0
  31. data/_layouts/compress.html +10 -0
  32. data/_layouts/contact.html +32 -0
  33. data/_layouts/default.html +33 -0
  34. data/_layouts/error.html +10 -0
  35. data/_layouts/home.html +103 -0
  36. data/_layouts/papers.html +80 -0
  37. data/_layouts/post.html +33 -0
  38. data/_layouts/projects.html +58 -0
  39. data/_layouts/resume.html +62 -0
  40. data/_papers/A-systematic-review-on-the-productive-effects-of-hobbies.md +15 -0
  41. data/_papers/Applications-of-open-collaboration-in-software-development.md +14 -0
  42. data/_posts/2019-04-03-welcome-human.md +52 -0
  43. data/_projects/Make.md +5 -0
  44. data/_projects/Meet.md +5 -0
  45. data/_projects/Mood.md +5 -0
  46. data/_projects/Take.md +5 -0
  47. data/_projects/Think.md +5 -0
  48. data/_sass/_bulma.scss +3 -0
  49. data/_sass/_fork_awesome.scss +11 -0
  50. data/_sass/code.scss +128 -0
  51. data/_sass/customize.scss +69 -0
  52. data/_sass/elements.scss +489 -0
  53. data/assets/css/styles.scss +15 -0
  54. data/assets/img/card.png +0 -0
  55. data/assets/img/icon.png +0 -0
  56. data/assets/img/logo.png +0 -0
  57. data/assets/img/made-with-bulma.png +0 -0
  58. data/assets/img/make.png +0 -0
  59. data/assets/img/meet.png +0 -0
  60. data/assets/img/mood.png +0 -0
  61. data/assets/img/take.png +0 -0
  62. data/assets/img/think.png +0 -0
  63. data/assets/js/navbar.js +10 -0
  64. data/assets/js/validate.js +77 -0
  65. data/blog/index.html +4 -0
  66. data/contact.md +52 -0
  67. data/index.md +3 -0
  68. data/node_modules/.yarn-integrity +18 -0
  69. data/node_modules/bulma/CHANGELOG.md +1459 -0
  70. data/node_modules/bulma/LICENSE +21 -0
  71. data/node_modules/bulma/README.md +130 -0
  72. data/node_modules/bulma/bulma.sass +10 -0
  73. data/node_modules/bulma/css/bulma-rtl.css +11331 -0
  74. data/node_modules/bulma/css/bulma-rtl.css.map +1 -0
  75. data/node_modules/bulma/css/bulma-rtl.min.css +1 -0
  76. data/node_modules/bulma/css/bulma.css +11331 -0
  77. data/node_modules/bulma/css/bulma.css.map +1 -0
  78. data/node_modules/bulma/css/bulma.min.css +1 -0
  79. data/node_modules/bulma/package.json +56 -0
  80. data/node_modules/bulma/sass/.DS_Store +0 -0
  81. data/node_modules/bulma/sass/base/_all.sass +4 -0
  82. data/node_modules/bulma/sass/base/generic.sass +142 -0
  83. data/node_modules/bulma/sass/base/helpers.sass +1 -0
  84. data/node_modules/bulma/sass/base/minireset.sass +79 -0
  85. data/node_modules/bulma/sass/components/_all.sass +14 -0
  86. data/node_modules/bulma/sass/components/breadcrumb.sass +75 -0
  87. data/node_modules/bulma/sass/components/card.sass +79 -0
  88. data/node_modules/bulma/sass/components/dropdown.sass +81 -0
  89. data/node_modules/bulma/sass/components/level.sass +77 -0
  90. data/node_modules/bulma/sass/components/media.sass +52 -0
  91. data/node_modules/bulma/sass/components/menu.sass +57 -0
  92. data/node_modules/bulma/sass/components/message.sass +99 -0
  93. data/node_modules/bulma/sass/components/modal.sass +113 -0
  94. data/node_modules/bulma/sass/components/navbar.sass +441 -0
  95. data/node_modules/bulma/sass/components/pagination.sass +150 -0
  96. data/node_modules/bulma/sass/components/panel.sass +119 -0
  97. data/node_modules/bulma/sass/components/tabs.sass +174 -0
  98. data/node_modules/bulma/sass/elements/_all.sass +15 -0
  99. data/node_modules/bulma/sass/elements/box.sass +24 -0
  100. data/node_modules/bulma/sass/elements/button.sass +323 -0
  101. data/node_modules/bulma/sass/elements/container.sass +24 -0
  102. data/node_modules/bulma/sass/elements/content.sass +155 -0
  103. data/node_modules/bulma/sass/elements/form.sass +1 -0
  104. data/node_modules/bulma/sass/elements/icon.sass +21 -0
  105. data/node_modules/bulma/sass/elements/image.sass +71 -0
  106. data/node_modules/bulma/sass/elements/notification.sass +48 -0
  107. data/node_modules/bulma/sass/elements/other.sass +39 -0
  108. data/node_modules/bulma/sass/elements/progress.sass +67 -0
  109. data/node_modules/bulma/sass/elements/table.sass +129 -0
  110. data/node_modules/bulma/sass/elements/tag.sass +136 -0
  111. data/node_modules/bulma/sass/elements/title.sass +70 -0
  112. data/node_modules/bulma/sass/form/_all.sass +8 -0
  113. data/node_modules/bulma/sass/form/checkbox-radio.sass +21 -0
  114. data/node_modules/bulma/sass/form/file.sass +180 -0
  115. data/node_modules/bulma/sass/form/input-textarea.sass +64 -0
  116. data/node_modules/bulma/sass/form/select.sass +85 -0
  117. data/node_modules/bulma/sass/form/shared.sass +55 -0
  118. data/node_modules/bulma/sass/form/tools.sass +213 -0
  119. data/node_modules/bulma/sass/grid/_all.sass +4 -0
  120. data/node_modules/bulma/sass/grid/columns.sass +504 -0
  121. data/node_modules/bulma/sass/grid/tiles.sass +34 -0
  122. data/node_modules/bulma/sass/helpers/_all.sass +10 -0
  123. data/node_modules/bulma/sass/helpers/color.sass +37 -0
  124. data/node_modules/bulma/sass/helpers/float.sass +8 -0
  125. data/node_modules/bulma/sass/helpers/other.sass +8 -0
  126. data/node_modules/bulma/sass/helpers/overflow.sass +2 -0
  127. data/node_modules/bulma/sass/helpers/position.sass +5 -0
  128. data/node_modules/bulma/sass/helpers/spacing.sass +28 -0
  129. data/node_modules/bulma/sass/helpers/typography.sass +98 -0
  130. data/node_modules/bulma/sass/helpers/visibility.sass +122 -0
  131. data/node_modules/bulma/sass/layout/_all.sass +5 -0
  132. data/node_modules/bulma/sass/layout/footer.sass +9 -0
  133. data/node_modules/bulma/sass/layout/hero.sass +145 -0
  134. data/node_modules/bulma/sass/layout/section.sass +13 -0
  135. data/node_modules/bulma/sass/utilities/.DS_Store +0 -0
  136. data/node_modules/bulma/sass/utilities/_all.sass +8 -0
  137. data/node_modules/bulma/sass/utilities/animations.sass +5 -0
  138. data/node_modules/bulma/sass/utilities/controls.sass +50 -0
  139. data/node_modules/bulma/sass/utilities/derived-variables.scss +132 -0
  140. data/node_modules/bulma/sass/utilities/functions.sass +115 -0
  141. data/node_modules/bulma/sass/utilities/initial-variables.sass +78 -0
  142. data/node_modules/bulma/sass/utilities/mixins.sass +285 -0
  143. data/node_modules/fork-awesome/CHANGELOG.md +91 -0
  144. data/node_modules/fork-awesome/CONTRIBUTORS.md +31 -0
  145. data/node_modules/fork-awesome/LICENSES +452 -0
  146. data/node_modules/fork-awesome/README.md +93 -0
  147. data/node_modules/fork-awesome/css/fork-awesome.css +2573 -0
  148. data/node_modules/fork-awesome/css/fork-awesome.min.css +12 -0
  149. data/node_modules/fork-awesome/css/fork-awesome.min.css.map +1 -0
  150. data/node_modules/fork-awesome/css/v5-compat.css +446 -0
  151. data/node_modules/fork-awesome/css/v5-compat.min.css +12 -0
  152. data/node_modules/fork-awesome/css/v5-compat.min.css.map +1 -0
  153. data/node_modules/fork-awesome/fonts/forkawesome-webfont.eot +0 -0
  154. data/node_modules/fork-awesome/fonts/forkawesome-webfont.svg +2849 -0
  155. data/node_modules/fork-awesome/fonts/forkawesome-webfont.ttf +0 -0
  156. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff +0 -0
  157. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff2 +0 -0
  158. data/node_modules/fork-awesome/less/animated.less +34 -0
  159. data/node_modules/fork-awesome/less/bordered-pulled.less +25 -0
  160. data/node_modules/fork-awesome/less/core.less +12 -0
  161. data/node_modules/fork-awesome/less/fixed-width.less +6 -0
  162. data/node_modules/fork-awesome/less/fork-awesome.less +27 -0
  163. data/node_modules/fork-awesome/less/icons.less +879 -0
  164. data/node_modules/fork-awesome/less/larger.less +13 -0
  165. data/node_modules/fork-awesome/less/list.less +19 -0
  166. data/node_modules/fork-awesome/less/mixins.less +60 -0
  167. data/node_modules/fork-awesome/less/path.less +15 -0
  168. data/node_modules/fork-awesome/less/rotated-flipped.less +20 -0
  169. data/node_modules/fork-awesome/less/screen-reader.less +5 -0
  170. data/node_modules/fork-awesome/less/stacked.less +20 -0
  171. data/node_modules/fork-awesome/less/v5-compat.less +176 -0
  172. data/node_modules/fork-awesome/less/variables.less +890 -0
  173. data/node_modules/fork-awesome/package.json +49 -0
  174. data/node_modules/fork-awesome/scss/_animated.scss +34 -0
  175. data/node_modules/fork-awesome/scss/_bordered-pulled.scss +25 -0
  176. data/node_modules/fork-awesome/scss/_core.scss +12 -0
  177. data/node_modules/fork-awesome/scss/_fixed-width.scss +6 -0
  178. data/node_modules/fork-awesome/scss/_functions.scss +11 -0
  179. data/node_modules/fork-awesome/scss/_icons.scss +879 -0
  180. data/node_modules/fork-awesome/scss/_larger.scss +13 -0
  181. data/node_modules/fork-awesome/scss/_list.scss +19 -0
  182. data/node_modules/fork-awesome/scss/_mixins.scss +60 -0
  183. data/node_modules/fork-awesome/scss/_path.scss +15 -0
  184. data/node_modules/fork-awesome/scss/_rotated-flipped.scss +20 -0
  185. data/node_modules/fork-awesome/scss/_screen-reader.scss +5 -0
  186. data/node_modules/fork-awesome/scss/_stacked.scss +20 -0
  187. data/node_modules/fork-awesome/scss/_variables.scss +890 -0
  188. data/node_modules/fork-awesome/scss/fork-awesome.scss +28 -0
  189. data/package.json +32 -0
  190. data/papers.md +4 -0
  191. data/projects.md +4 -0
  192. data/resume.md +4 -0
  193. data/screenshot.png +0 -0
  194. data/scripts/build.sh +10 -0
  195. data/scripts/install.sh +4 -0
  196. data/scripts/validate.rb +28 -0
  197. data/vitrina.gemspec +23 -0
  198. metadata +199 -3
@@ -0,0 +1,13 @@
1
+ $section-padding: 3rem 1.5rem !default
2
+ $section-padding-medium: 9rem 1.5rem !default
3
+ $section-padding-large: 18rem 1.5rem !default
4
+
5
+ .section
6
+ padding: $section-padding
7
+ // Responsiveness
8
+ +desktop
9
+ // Sizes
10
+ &.is-medium
11
+ padding: $section-padding-medium
12
+ &.is-large
13
+ padding: $section-padding-large
@@ -0,0 +1,8 @@
1
+ @charset "utf-8"
2
+
3
+ @import "initial-variables.sass"
4
+ @import "functions.sass"
5
+ @import "derived-variables.scss"
6
+ @import "animations.sass"
7
+ @import "mixins.sass"
8
+ @import "controls.sass"
@@ -0,0 +1,5 @@
1
+ @keyframes spinAround
2
+ from
3
+ transform: rotate(0deg)
4
+ to
5
+ transform: rotate(359deg)
@@ -0,0 +1,50 @@
1
+ $control-radius: $radius !default
2
+ $control-radius-small: $radius-small !default
3
+
4
+ $control-border-width: 1px !default
5
+
6
+ $control-height: 2.5em !default
7
+ $control-line-height: 1.5 !default
8
+
9
+ $control-padding-vertical: calc(0.5em - #{$control-border-width}) !default
10
+ $control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default
11
+
12
+ =control
13
+ -moz-appearance: none
14
+ -webkit-appearance: none
15
+ align-items: center
16
+ border: $control-border-width solid transparent
17
+ border-radius: $control-radius
18
+ box-shadow: none
19
+ display: inline-flex
20
+ font-size: $size-normal
21
+ height: $control-height
22
+ justify-content: flex-start
23
+ line-height: $control-line-height
24
+ padding-bottom: $control-padding-vertical
25
+ padding-left: $control-padding-horizontal
26
+ padding-right: $control-padding-horizontal
27
+ padding-top: $control-padding-vertical
28
+ position: relative
29
+ vertical-align: top
30
+ // States
31
+ &:focus,
32
+ &.is-focused,
33
+ &:active,
34
+ &.is-active
35
+ outline: none
36
+ &[disabled],
37
+ fieldset[disabled] &
38
+ cursor: not-allowed
39
+
40
+ %control
41
+ +control
42
+
43
+ // The controls sizes use mixins so they can be used at different breakpoints
44
+ =control-small
45
+ border-radius: $control-radius-small
46
+ font-size: $size-small
47
+ =control-medium
48
+ font-size: $size-medium
49
+ =control-large
50
+ font-size: $size-large
@@ -0,0 +1,132 @@
1
+ $primary: $turquoise !default;
2
+
3
+ $info : $cyan !default;
4
+ $success: $green !default;
5
+ $warning: $yellow !default;
6
+ $danger : $red !default;
7
+
8
+ $light : $white-ter !default;
9
+ $dark : $grey-darker !default;
10
+
11
+ // Invert colors
12
+
13
+ $orange-invert : findColorInvert($orange) !default;
14
+ $yellow-invert : findColorInvert($yellow) !default;
15
+ $green-invert : findColorInvert($green) !default;
16
+ $turquoise-invert: findColorInvert($turquoise) !default;
17
+ $cyan-invert : findColorInvert($cyan) !default;
18
+ $blue-invert : findColorInvert($blue) !default;
19
+ $purple-invert : findColorInvert($purple) !default;
20
+ $red-invert : findColorInvert($red) !default;
21
+
22
+ $primary-invert : findColorInvert($primary) !default;
23
+ $primary-light : findLightColor($primary) !default;
24
+ $primary-dark : findDarkColor($primary) !default;
25
+ $info-invert : findColorInvert($info) !default;
26
+ $info-light : findLightColor($info) !default;
27
+ $info-dark : findDarkColor($info) !default;
28
+ $success-invert : findColorInvert($success) !default;
29
+ $success-light : findLightColor($success) !default;
30
+ $success-dark : findDarkColor($success) !default;
31
+ $warning-invert : findColorInvert($warning) !default;
32
+ $warning-light : findLightColor($warning) !default;
33
+ $warning-dark : findDarkColor($warning) !default;
34
+ $danger-invert : findColorInvert($danger) !default;
35
+ $danger-light : findLightColor($danger) !default;
36
+ $danger-dark : findDarkColor($danger) !default;
37
+ $light-invert : findColorInvert($light) !default;
38
+ $dark-invert : findColorInvert($dark) !default;
39
+
40
+ // General colors
41
+
42
+ $scheme-main : $white !default;
43
+ $scheme-main-bis : $white-bis !default;
44
+ $scheme-main-ter : $white-ter !default;
45
+ $scheme-invert : $black !default;
46
+ $scheme-invert-bis : $black-bis !default;
47
+ $scheme-invert-ter : $black-ter !default;
48
+
49
+ $background : $white-ter !default;
50
+
51
+ $border : $grey-lighter !default;
52
+ $border-hover : $grey-light !default;
53
+ $border-light : $grey-lightest !default;
54
+ $border-light-hover: $grey-light !default;
55
+
56
+ // Text colors
57
+
58
+ $text : $grey-dark !default;
59
+ $text-invert: findColorInvert($text) !default;
60
+ $text-light : $grey !default;
61
+ $text-strong: $grey-darker !default;
62
+
63
+ // Code colors
64
+
65
+ $code : $red !default;
66
+ $code-background: $background !default;
67
+
68
+ $pre : $text !default;
69
+ $pre-background : $background !default;
70
+
71
+ // Link colors
72
+
73
+ $link : $blue !default;
74
+ $link-invert : findColorInvert($link) !default;
75
+ $link-light : findLightColor($link) !default;
76
+ $link-dark : findDarkColor($link) !default;
77
+ $link-visited : $purple !default;
78
+
79
+ $link-hover : $grey-darker !default;
80
+ $link-hover-border : $grey-light !default;
81
+
82
+ $link-focus : $grey-darker !default;
83
+ $link-focus-border : $blue !default;
84
+
85
+ $link-active : $grey-darker !default;
86
+ $link-active-border: $grey-dark !default;
87
+
88
+ // Typography
89
+
90
+ $family-primary : $family-sans-serif !default;
91
+ $family-secondary: $family-sans-serif !default;
92
+ $family-code : $family-monospace !default;
93
+
94
+ $size-small : $size-7 !default;
95
+ $size-normal: $size-6 !default;
96
+ $size-medium: $size-5 !default;
97
+ $size-large : $size-4 !default;
98
+
99
+ // Lists and maps
100
+ $custom-colors: null !default;
101
+ $custom-shades: null !default;
102
+
103
+ $colors: mergeColorMaps(
104
+ (
105
+ "white" : ($white, $black),
106
+ "black" : ($black, $white),
107
+ "light" : ($light, $light-invert),
108
+ "dark" : ($dark, $dark-invert),
109
+ "primary": ($primary, $primary-invert, $primary-light, $primary-dark),
110
+ "link" : ($link, $link-invert, $link-light, $link-dark),
111
+ "info" : ($info, $info-invert, $info-light, $info-dark),
112
+ "success": ($success, $success-invert, $success-light, $success-dark),
113
+ "warning": ($warning, $warning-invert, $warning-light, $warning-dark),
114
+ "danger" : ($danger, $danger-invert, $danger-light, $danger-dark)),
115
+ $custom-colors
116
+ ) !default;
117
+
118
+ $shades: mergeColorMaps(
119
+ (
120
+ "black-bis" : $black-bis,
121
+ "black-ter" : $black-ter,
122
+ "grey-darker" : $grey-darker,
123
+ "grey-dark" : $grey-dark,
124
+ "grey" : $grey,
125
+ "grey-light" : $grey-light,
126
+ "grey-lighter": $grey-lighter,
127
+ "white-ter" : $white-ter,
128
+ "white-bis" : $white-bis),
129
+ $custom-shades
130
+ ) !default;
131
+
132
+ $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default;
@@ -0,0 +1,115 @@
1
+ @function mergeColorMaps($bulma-colors, $custom-colors)
2
+ // We return at least Bulma's hard-coded colors
3
+ $merged-colors: $bulma-colors
4
+
5
+ // We want a map as input
6
+ @if type-of($custom-colors) == 'map'
7
+ @each $name, $components in $custom-colors
8
+ // The color name should be a string
9
+ // and the components either a single color
10
+ // or a colors list with at least one element
11
+ @if type-of($name) == 'string' and (type-of($components) == 'list' or type-of($components) == 'color') and length($components) >= 1
12
+ $color-base: null
13
+ $color-invert: null
14
+ $color-light: null
15
+ $color-dark: null
16
+ $value: null
17
+
18
+ // The param can either be a single color
19
+ // or a list of 2 colors
20
+ @if type-of($components) == 'color'
21
+ $color-base: $components
22
+ $color-invert: findColorInvert($color-base)
23
+ $color-light: findLightColor($color-base)
24
+ $color-dark: findDarkColor($color-base)
25
+ @else if type-of($components) == 'list'
26
+ $color-base: nth($components, 1)
27
+ // If Invert, Light and Dark are provided
28
+ @if length($components) > 3
29
+ $color-invert: nth($components, 2)
30
+ $color-light: nth($components, 3)
31
+ $color-dark: nth($components, 4)
32
+ // If only Invert and Light are provided
33
+ @else if length($components) > 2
34
+ $color-invert: nth($components, 2)
35
+ $color-light: nth($components, 3)
36
+ $color-dark: findDarkColor($color-base)
37
+ // If only Invert is provided
38
+ @else
39
+ $color-invert: nth($components, 2)
40
+ $color-light: findLightColor($color-base)
41
+ $color-dark: findDarkColor($color-base)
42
+
43
+ $value: ($color-base, $color-invert, $color-light, $color-dark)
44
+
45
+ // We only want to merge the map if the color base is an actual color
46
+ @if type-of($color-base) == 'color'
47
+ // We merge this colors elements as map with Bulma's colors map
48
+ // (we can override them this way, no multiple definition for the same name)
49
+ // $merged-colors: map_merge($merged-colors, ($name: ($color-base, $color-invert, $color-light, $color-dark)))
50
+ $merged-colors: map_merge($merged-colors, ($name: $value))
51
+
52
+ @return $merged-colors
53
+
54
+ @function powerNumber($number, $exp)
55
+ $value: 1
56
+ @if $exp > 0
57
+ @for $i from 1 through $exp
58
+ $value: $value * $number
59
+ @else if $exp < 0
60
+ @for $i from 1 through -$exp
61
+ $value: $value / $number
62
+ @return $value
63
+
64
+ @function colorLuminance($color)
65
+ @if type-of($color) != 'color'
66
+ @return 0.55
67
+ $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color))
68
+ @each $name, $value in $color-rgb
69
+ $adjusted: 0
70
+ $value: $value / 255
71
+ @if $value < 0.03928
72
+ $value: $value / 12.92
73
+ @else
74
+ $value: ($value + .055) / 1.055
75
+ $value: powerNumber($value, 2)
76
+ $color-rgb: map-merge($color-rgb, ($name: $value))
77
+ @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722)
78
+
79
+ @function findColorInvert($color)
80
+ @if (colorLuminance($color) > 0.55)
81
+ @return rgba(#000, 0.7)
82
+ @else
83
+ @return #fff
84
+
85
+ @function findLightColor($color)
86
+ @if type-of($color) == 'color'
87
+ $l: 96%
88
+ @if lightness($color) > 96%
89
+ $l: lightness($color)
90
+ @return change-color($color, $lightness: $l)
91
+ @return $background
92
+
93
+ @function findDarkColor($color)
94
+ @if type-of($color) == 'color'
95
+ $base-l: 29%
96
+ $luminance: colorLuminance($color)
97
+ $luminance-delta: (0.53 - $luminance)
98
+ $target-l: round($base-l + ($luminance-delta * 53))
99
+ @return change-color($color, $lightness: max($base-l, $target-l))
100
+ @return $text-strong
101
+
102
+ @function bulmaRgba($color, $alpha)
103
+ @if type-of($color) != 'color'
104
+ @return $color
105
+ @return rgba($color, $alpha)
106
+
107
+ @function bulmaDarken($color, $amount)
108
+ @if type-of($color) != 'color'
109
+ @return $color
110
+ @return darken($color, $amount)
111
+
112
+ @function bulmaLighten($color, $amount)
113
+ @if type-of($color) != 'color'
114
+ @return $color
115
+ @return lighten($color, $amount)
@@ -0,0 +1,78 @@
1
+ // Colors
2
+
3
+ $black: hsl(0, 0%, 4%) !default
4
+ $black-bis: hsl(0, 0%, 7%) !default
5
+ $black-ter: hsl(0, 0%, 14%) !default
6
+
7
+ $grey-darker: hsl(0, 0%, 21%) !default
8
+ $grey-dark: hsl(0, 0%, 29%) !default
9
+ $grey: hsl(0, 0%, 48%) !default
10
+ $grey-light: hsl(0, 0%, 71%) !default
11
+ $grey-lighter: hsl(0, 0%, 86%) !default
12
+ $grey-lightest: hsl(0, 0%, 93%) !default
13
+
14
+ $white-ter: hsl(0, 0%, 96%) !default
15
+ $white-bis: hsl(0, 0%, 98%) !default
16
+ $white: hsl(0, 0%, 100%) !default
17
+
18
+ $orange: hsl(14, 100%, 53%) !default
19
+ $yellow: hsl(48, 100%, 67%) !default
20
+ $green: hsl(141, 53%, 53%) !default
21
+ $turquoise: hsl(171, 100%, 41%) !default
22
+ $cyan: hsl(204, 71%, 53%) !default
23
+ $blue: hsl(217, 71%, 53%) !default
24
+ $purple: hsl(271, 100%, 71%) !default
25
+ $red: hsl(348, 86%, 61%) !default
26
+
27
+ // Typography
28
+
29
+ $family-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !default
30
+ $family-monospace: monospace !default
31
+ $render-mode: optimizeLegibility !default
32
+
33
+ $size-1: 3rem !default
34
+ $size-2: 2.5rem !default
35
+ $size-3: 2rem !default
36
+ $size-4: 1.5rem !default
37
+ $size-5: 1.25rem !default
38
+ $size-6: 1rem !default
39
+ $size-7: 0.75rem !default
40
+
41
+ $weight-light: 300 !default
42
+ $weight-normal: 400 !default
43
+ $weight-medium: 500 !default
44
+ $weight-semibold: 600 !default
45
+ $weight-bold: 700 !default
46
+
47
+ // Spacing
48
+
49
+ $block-spacing: 1.5rem !default
50
+
51
+ // Responsiveness
52
+
53
+ // The container horizontal gap, which acts as the offset for breakpoints
54
+ $gap: 32px !default
55
+ // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
56
+ $tablet: 769px !default
57
+ // 960px container + 4rem
58
+ $desktop: 960px + (2 * $gap) !default
59
+ // 1152px container + 4rem
60
+ $widescreen: 1152px + (2 * $gap) !default
61
+ $widescreen-enabled: true !default
62
+ // 1344px container + 4rem
63
+ $fullhd: 1344px + (2 * $gap) !default
64
+ $fullhd-enabled: true !default
65
+
66
+ // Miscellaneous
67
+
68
+ $easing: ease-out !default
69
+ $radius-small: 2px !default
70
+ $radius: 4px !default
71
+ $radius-large: 6px !default
72
+ $radius-rounded: 290486px !default
73
+ $speed: 86ms !default
74
+
75
+ // Flags
76
+
77
+ $variable-columns: true !default
78
+ $rtl: false !default
@@ -0,0 +1,285 @@
1
+ @import "initial-variables"
2
+
3
+ =clearfix
4
+ &::after
5
+ clear: both
6
+ content: " "
7
+ display: table
8
+
9
+ =center($width, $height: 0)
10
+ position: absolute
11
+ @if $height != 0
12
+ left: calc(50% - (#{$width} / 2))
13
+ top: calc(50% - (#{$height} / 2))
14
+ @else
15
+ left: calc(50% - (#{$width} / 2))
16
+ top: calc(50% - (#{$width} / 2))
17
+
18
+ =fa($size, $dimensions)
19
+ display: inline-block
20
+ font-size: $size
21
+ height: $dimensions
22
+ line-height: $dimensions
23
+ text-align: center
24
+ vertical-align: top
25
+ width: $dimensions
26
+
27
+ =hamburger($dimensions)
28
+ cursor: pointer
29
+ display: block
30
+ height: $dimensions
31
+ position: relative
32
+ width: $dimensions
33
+ span
34
+ background-color: currentColor
35
+ display: block
36
+ height: 1px
37
+ left: calc(50% - 8px)
38
+ position: absolute
39
+ transform-origin: center
40
+ transition-duration: $speed
41
+ transition-property: background-color, opacity, transform
42
+ transition-timing-function: $easing
43
+ width: 16px
44
+ &:nth-child(1)
45
+ top: calc(50% - 6px)
46
+ &:nth-child(2)
47
+ top: calc(50% - 1px)
48
+ &:nth-child(3)
49
+ top: calc(50% + 4px)
50
+ &:hover
51
+ background-color: bulmaRgba(black, 0.05)
52
+ // Modifers
53
+ &.is-active
54
+ span
55
+ &:nth-child(1)
56
+ transform: translateY(5px) rotate(45deg)
57
+ &:nth-child(2)
58
+ opacity: 0
59
+ &:nth-child(3)
60
+ transform: translateY(-5px) rotate(-45deg)
61
+
62
+ =overflow-touch
63
+ -webkit-overflow-scrolling: touch
64
+
65
+ =placeholder
66
+ $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'
67
+ @each $placeholder in $placeholders
68
+ &:#{$placeholder}-placeholder
69
+ @content
70
+
71
+ // Responsiveness
72
+
73
+ =from($device)
74
+ @media screen and (min-width: $device)
75
+ @content
76
+
77
+ =until($device)
78
+ @media screen and (max-width: $device - 1px)
79
+ @content
80
+
81
+ =mobile
82
+ @media screen and (max-width: $tablet - 1px)
83
+ @content
84
+
85
+ =tablet
86
+ @media screen and (min-width: $tablet), print
87
+ @content
88
+
89
+ =tablet-only
90
+ @media screen and (min-width: $tablet) and (max-width: $desktop - 1px)
91
+ @content
92
+
93
+ =touch
94
+ @media screen and (max-width: $desktop - 1px)
95
+ @content
96
+
97
+ =desktop
98
+ @media screen and (min-width: $desktop)
99
+ @content
100
+
101
+ =desktop-only
102
+ @if $widescreen-enabled
103
+ @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px)
104
+ @content
105
+
106
+ =until-widescreen
107
+ @if $widescreen-enabled
108
+ @media screen and (max-width: $widescreen - 1px)
109
+ @content
110
+
111
+ =widescreen
112
+ @if $widescreen-enabled
113
+ @media screen and (min-width: $widescreen)
114
+ @content
115
+
116
+ =widescreen-only
117
+ @if $widescreen-enabled and $fullhd-enabled
118
+ @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px)
119
+ @content
120
+
121
+ =until-fullhd
122
+ @if $fullhd-enabled
123
+ @media screen and (max-width: $fullhd - 1px)
124
+ @content
125
+
126
+ =fullhd
127
+ @if $fullhd-enabled
128
+ @media screen and (min-width: $fullhd)
129
+ @content
130
+
131
+ =ltr
132
+ @if not $rtl
133
+ @content
134
+
135
+ =rtl
136
+ @if $rtl
137
+ @content
138
+
139
+ =ltr-property($property, $spacing, $right: true)
140
+ $normal: if($right, "right", "left")
141
+ $opposite: if($right, "left", "right")
142
+ @if $rtl
143
+ #{$property}-#{$opposite}: $spacing
144
+ @else
145
+ #{$property}-#{$normal}: $spacing
146
+
147
+ =ltr-position($spacing, $right: true)
148
+ $normal: if($right, "right", "left")
149
+ $opposite: if($right, "left", "right")
150
+ @if $rtl
151
+ #{$opposite}: $spacing
152
+ @else
153
+ #{$normal}: $spacing
154
+
155
+ // Placeholders
156
+
157
+ =unselectable
158
+ -webkit-touch-callout: none
159
+ -webkit-user-select: none
160
+ -moz-user-select: none
161
+ -ms-user-select: none
162
+ user-select: none
163
+
164
+ %unselectable
165
+ +unselectable
166
+
167
+ =arrow($color: transparent)
168
+ border: 3px solid $color
169
+ border-radius: 2px
170
+ border-right: 0
171
+ border-top: 0
172
+ content: " "
173
+ display: block
174
+ height: 0.625em
175
+ margin-top: -0.4375em
176
+ pointer-events: none
177
+ position: absolute
178
+ top: 50%
179
+ transform: rotate(-45deg)
180
+ transform-origin: center
181
+ width: 0.625em
182
+
183
+ %arrow
184
+ +arrow
185
+
186
+ =block($spacing: $block-spacing)
187
+ &:not(:last-child)
188
+ margin-bottom: $spacing
189
+
190
+ %block
191
+ +block
192
+
193
+ =delete
194
+ @extend %unselectable
195
+ -moz-appearance: none
196
+ -webkit-appearance: none
197
+ background-color: bulmaRgba($scheme-invert, 0.2)
198
+ border: none
199
+ border-radius: $radius-rounded
200
+ cursor: pointer
201
+ pointer-events: auto
202
+ display: inline-block
203
+ flex-grow: 0
204
+ flex-shrink: 0
205
+ font-size: 0
206
+ height: 20px
207
+ max-height: 20px
208
+ max-width: 20px
209
+ min-height: 20px
210
+ min-width: 20px
211
+ outline: none
212
+ position: relative
213
+ vertical-align: top
214
+ width: 20px
215
+ &::before,
216
+ &::after
217
+ background-color: $scheme-main
218
+ content: ""
219
+ display: block
220
+ left: 50%
221
+ position: absolute
222
+ top: 50%
223
+ transform: translateX(-50%) translateY(-50%) rotate(45deg)
224
+ transform-origin: center center
225
+ &::before
226
+ height: 2px
227
+ width: 50%
228
+ &::after
229
+ height: 50%
230
+ width: 2px
231
+ &:hover,
232
+ &:focus
233
+ background-color: bulmaRgba($scheme-invert, 0.3)
234
+ &:active
235
+ background-color: bulmaRgba($scheme-invert, 0.4)
236
+ // Sizes
237
+ &.is-small
238
+ height: 16px
239
+ max-height: 16px
240
+ max-width: 16px
241
+ min-height: 16px
242
+ min-width: 16px
243
+ width: 16px
244
+ &.is-medium
245
+ height: 24px
246
+ max-height: 24px
247
+ max-width: 24px
248
+ min-height: 24px
249
+ min-width: 24px
250
+ width: 24px
251
+ &.is-large
252
+ height: 32px
253
+ max-height: 32px
254
+ max-width: 32px
255
+ min-height: 32px
256
+ min-width: 32px
257
+ width: 32px
258
+
259
+ %delete
260
+ +delete
261
+
262
+ =loader
263
+ animation: spinAround 500ms infinite linear
264
+ border: 2px solid $grey-lighter
265
+ border-radius: $radius-rounded
266
+ border-right-color: transparent
267
+ border-top-color: transparent
268
+ content: ""
269
+ display: block
270
+ height: 1em
271
+ position: relative
272
+ width: 1em
273
+
274
+ %loader
275
+ +loader
276
+
277
+ =overlay($offset: 0)
278
+ bottom: $offset
279
+ left: $offset
280
+ position: absolute
281
+ right: $offset
282
+ top: $offset
283
+
284
+ %overlay
285
+ +overlay