vitrina 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) 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 +59 -0
  11. data/Gemfile +9 -0
  12. data/LICENSE +21 -0
  13. data/README.md +407 -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 +63 -0
  27. data/_includes/util/navbar_items.html +76 -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 +80 -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 +4 -0
  67. data/index.md +3 -0
  68. data/node_modules/.yarn-integrity +18 -0
  69. data/node_modules/bulma/CHANGELOG.md +1390 -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 +9 -0
  73. data/node_modules/bulma/css/bulma.css +10855 -0
  74. data/node_modules/bulma/css/bulma.css.map +1 -0
  75. data/node_modules/bulma/css/bulma.min.css +1 -0
  76. data/node_modules/bulma/package.json +52 -0
  77. data/node_modules/bulma/sass/.DS_Store +0 -0
  78. data/node_modules/bulma/sass/base/_all.sass +5 -0
  79. data/node_modules/bulma/sass/base/generic.sass +142 -0
  80. data/node_modules/bulma/sass/base/helpers.sass +281 -0
  81. data/node_modules/bulma/sass/base/minireset.sass +79 -0
  82. data/node_modules/bulma/sass/components/_all.sass +15 -0
  83. data/node_modules/bulma/sass/components/breadcrumb.sass +75 -0
  84. data/node_modules/bulma/sass/components/card.sass +79 -0
  85. data/node_modules/bulma/sass/components/dropdown.sass +81 -0
  86. data/node_modules/bulma/sass/components/level.sass +77 -0
  87. data/node_modules/bulma/sass/components/list.sass +39 -0
  88. data/node_modules/bulma/sass/components/media.sass +50 -0
  89. data/node_modules/bulma/sass/components/menu.sass +57 -0
  90. data/node_modules/bulma/sass/components/message.sass +99 -0
  91. data/node_modules/bulma/sass/components/modal.sass +113 -0
  92. data/node_modules/bulma/sass/components/navbar.sass +441 -0
  93. data/node_modules/bulma/sass/components/pagination.sass +150 -0
  94. data/node_modules/bulma/sass/components/panel.sass +119 -0
  95. data/node_modules/bulma/sass/components/tabs.sass +151 -0
  96. data/node_modules/bulma/sass/elements/_all.sass +15 -0
  97. data/node_modules/bulma/sass/elements/box.sass +24 -0
  98. data/node_modules/bulma/sass/elements/button.sass +323 -0
  99. data/node_modules/bulma/sass/elements/container.sass +24 -0
  100. data/node_modules/bulma/sass/elements/content.sass +155 -0
  101. data/node_modules/bulma/sass/elements/form.sass +1 -0
  102. data/node_modules/bulma/sass/elements/icon.sass +21 -0
  103. data/node_modules/bulma/sass/elements/image.sass +71 -0
  104. data/node_modules/bulma/sass/elements/notification.sass +43 -0
  105. data/node_modules/bulma/sass/elements/other.sass +39 -0
  106. data/node_modules/bulma/sass/elements/progress.sass +67 -0
  107. data/node_modules/bulma/sass/elements/table.sass +127 -0
  108. data/node_modules/bulma/sass/elements/tag.sass +128 -0
  109. data/node_modules/bulma/sass/elements/title.sass +70 -0
  110. data/node_modules/bulma/sass/form/_all.sass +8 -0
  111. data/node_modules/bulma/sass/form/checkbox-radio.sass +21 -0
  112. data/node_modules/bulma/sass/form/file.sass +180 -0
  113. data/node_modules/bulma/sass/form/input-textarea.sass +64 -0
  114. data/node_modules/bulma/sass/form/select.sass +85 -0
  115. data/node_modules/bulma/sass/form/shared.sass +55 -0
  116. data/node_modules/bulma/sass/form/tools.sass +205 -0
  117. data/node_modules/bulma/sass/grid/_all.sass +4 -0
  118. data/node_modules/bulma/sass/grid/columns.sass +504 -0
  119. data/node_modules/bulma/sass/grid/tiles.sass +34 -0
  120. data/node_modules/bulma/sass/layout/_all.sass +5 -0
  121. data/node_modules/bulma/sass/layout/footer.sass +9 -0
  122. data/node_modules/bulma/sass/layout/hero.sass +145 -0
  123. data/node_modules/bulma/sass/layout/section.sass +13 -0
  124. data/node_modules/bulma/sass/utilities/.DS_Store +0 -0
  125. data/node_modules/bulma/sass/utilities/_all.sass +8 -0
  126. data/node_modules/bulma/sass/utilities/animations.sass +5 -0
  127. data/node_modules/bulma/sass/utilities/controls.sass +50 -0
  128. data/node_modules/bulma/sass/utilities/derived-variables.sass +106 -0
  129. data/node_modules/bulma/sass/utilities/functions.sass +110 -0
  130. data/node_modules/bulma/sass/utilities/initial-variables.sass +77 -0
  131. data/node_modules/bulma/sass/utilities/mixins.sass +261 -0
  132. data/node_modules/fork-awesome/CHANGELOG.md +91 -0
  133. data/node_modules/fork-awesome/CONTRIBUTORS.md +31 -0
  134. data/node_modules/fork-awesome/LICENSES +452 -0
  135. data/node_modules/fork-awesome/README.md +93 -0
  136. data/node_modules/fork-awesome/css/fork-awesome.css +2573 -0
  137. data/node_modules/fork-awesome/css/fork-awesome.min.css +12 -0
  138. data/node_modules/fork-awesome/css/fork-awesome.min.css.map +1 -0
  139. data/node_modules/fork-awesome/css/v5-compat.css +446 -0
  140. data/node_modules/fork-awesome/css/v5-compat.min.css +12 -0
  141. data/node_modules/fork-awesome/css/v5-compat.min.css.map +1 -0
  142. data/node_modules/fork-awesome/fonts/forkawesome-webfont.eot +0 -0
  143. data/node_modules/fork-awesome/fonts/forkawesome-webfont.svg +2849 -0
  144. data/node_modules/fork-awesome/fonts/forkawesome-webfont.ttf +0 -0
  145. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff +0 -0
  146. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff2 +0 -0
  147. data/node_modules/fork-awesome/less/animated.less +34 -0
  148. data/node_modules/fork-awesome/less/bordered-pulled.less +25 -0
  149. data/node_modules/fork-awesome/less/core.less +12 -0
  150. data/node_modules/fork-awesome/less/fixed-width.less +6 -0
  151. data/node_modules/fork-awesome/less/fork-awesome.less +27 -0
  152. data/node_modules/fork-awesome/less/icons.less +879 -0
  153. data/node_modules/fork-awesome/less/larger.less +13 -0
  154. data/node_modules/fork-awesome/less/list.less +19 -0
  155. data/node_modules/fork-awesome/less/mixins.less +60 -0
  156. data/node_modules/fork-awesome/less/path.less +15 -0
  157. data/node_modules/fork-awesome/less/rotated-flipped.less +20 -0
  158. data/node_modules/fork-awesome/less/screen-reader.less +5 -0
  159. data/node_modules/fork-awesome/less/stacked.less +20 -0
  160. data/node_modules/fork-awesome/less/v5-compat.less +176 -0
  161. data/node_modules/fork-awesome/less/variables.less +890 -0
  162. data/node_modules/fork-awesome/package.json +49 -0
  163. data/node_modules/fork-awesome/scss/_animated.scss +34 -0
  164. data/node_modules/fork-awesome/scss/_bordered-pulled.scss +25 -0
  165. data/node_modules/fork-awesome/scss/_core.scss +12 -0
  166. data/node_modules/fork-awesome/scss/_fixed-width.scss +6 -0
  167. data/node_modules/fork-awesome/scss/_functions.scss +11 -0
  168. data/node_modules/fork-awesome/scss/_icons.scss +879 -0
  169. data/node_modules/fork-awesome/scss/_larger.scss +13 -0
  170. data/node_modules/fork-awesome/scss/_list.scss +19 -0
  171. data/node_modules/fork-awesome/scss/_mixins.scss +60 -0
  172. data/node_modules/fork-awesome/scss/_path.scss +15 -0
  173. data/node_modules/fork-awesome/scss/_rotated-flipped.scss +20 -0
  174. data/node_modules/fork-awesome/scss/_screen-reader.scss +5 -0
  175. data/node_modules/fork-awesome/scss/_stacked.scss +20 -0
  176. data/node_modules/fork-awesome/scss/_variables.scss +890 -0
  177. data/node_modules/fork-awesome/scss/fork-awesome.scss +28 -0
  178. data/package.json +32 -0
  179. data/papers.md +4 -0
  180. data/projects.md +4 -0
  181. data/resume.md +4 -0
  182. data/screenshot.png +0 -0
  183. data/scripts/build.sh +10 -0
  184. data/scripts/install.sh +4 -0
  185. data/scripts/validate.rb +28 -0
  186. data/vitrina.gemspec +23 -0
  187. metadata +187 -2
@@ -0,0 +1,34 @@
1
+ $tile-spacing: 0.75rem !default
2
+
3
+ .tile
4
+ align-items: stretch
5
+ display: block
6
+ flex-basis: 0
7
+ flex-grow: 1
8
+ flex-shrink: 1
9
+ min-height: min-content
10
+ // Modifiers
11
+ &.is-ancestor
12
+ margin-left: $tile-spacing * -1
13
+ margin-right: $tile-spacing * -1
14
+ margin-top: $tile-spacing * -1
15
+ &:last-child
16
+ margin-bottom: $tile-spacing * -1
17
+ &:not(:last-child)
18
+ margin-bottom: $tile-spacing
19
+ &.is-child
20
+ margin: 0 !important
21
+ &.is-parent
22
+ padding: $tile-spacing
23
+ &.is-vertical
24
+ flex-direction: column
25
+ & > .tile.is-child:not(:last-child)
26
+ margin-bottom: 1.5rem !important
27
+ // Responsiveness
28
+ +tablet
29
+ &:not(.is-child)
30
+ display: flex
31
+ @for $i from 1 through 12
32
+ &.is-#{$i}
33
+ flex: none
34
+ width: ($i / 12) * 100%
@@ -0,0 +1,5 @@
1
+ @charset "utf-8"
2
+
3
+ @import "hero.sass"
4
+ @import "section.sass"
5
+ @import "footer.sass"
@@ -0,0 +1,9 @@
1
+ $footer-background-color: $scheme-main-bis !default
2
+ $footer-color: false !default
3
+ $footer-padding: 3rem 1.5rem 6rem !default
4
+
5
+ .footer
6
+ background-color: $footer-background-color
7
+ padding: $footer-padding
8
+ @if $footer-color
9
+ color: $footer-color
@@ -0,0 +1,145 @@
1
+ $hero-body-padding: 3rem 1.5rem !default
2
+ $hero-body-padding-small: 1.5rem !default
3
+ $hero-body-padding-medium: 9rem 1.5rem !default
4
+ $hero-body-padding-large: 18rem 1.5rem !default
5
+
6
+ // Main container
7
+ .hero
8
+ align-items: stretch
9
+ display: flex
10
+ flex-direction: column
11
+ justify-content: space-between
12
+ .navbar
13
+ background: none
14
+ .tabs
15
+ ul
16
+ border-bottom: none
17
+ // Colors
18
+ @each $name, $pair in $colors
19
+ $color: nth($pair, 1)
20
+ $color-invert: nth($pair, 2)
21
+ &.is-#{$name}
22
+ background-color: $color
23
+ color: $color-invert
24
+ a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
25
+ strong
26
+ color: inherit
27
+ .title
28
+ color: $color-invert
29
+ .subtitle
30
+ color: bulmaRgba($color-invert, 0.9)
31
+ a:not(.button),
32
+ strong
33
+ color: $color-invert
34
+ .navbar-menu
35
+ +touch
36
+ background-color: $color
37
+ .navbar-item,
38
+ .navbar-link
39
+ color: bulmaRgba($color-invert, 0.7)
40
+ a.navbar-item,
41
+ .navbar-link
42
+ &:hover,
43
+ &.is-active
44
+ background-color: bulmaDarken($color, 5%)
45
+ color: $color-invert
46
+ .tabs
47
+ a
48
+ color: $color-invert
49
+ opacity: 0.9
50
+ &:hover
51
+ opacity: 1
52
+ li
53
+ &.is-active a
54
+ opacity: 1
55
+ &.is-boxed,
56
+ &.is-toggle
57
+ a
58
+ color: $color-invert
59
+ &:hover
60
+ background-color: bulmaRgba($scheme-invert, 0.1)
61
+ li.is-active a
62
+ &,
63
+ &:hover
64
+ background-color: $color-invert
65
+ border-color: $color-invert
66
+ color: $color
67
+ // Modifiers
68
+ @if type-of($color) == 'color'
69
+ &.is-bold
70
+ $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%)
71
+ $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%)
72
+ background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)
73
+ +mobile
74
+ .navbar-menu
75
+ background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)
76
+ // Sizes
77
+ &.is-small
78
+ .hero-body
79
+ padding: $hero-body-padding-small
80
+ &.is-medium
81
+ +tablet
82
+ .hero-body
83
+ padding: $hero-body-padding-medium
84
+ &.is-large
85
+ +tablet
86
+ .hero-body
87
+ padding: $hero-body-padding-large
88
+ &.is-halfheight,
89
+ &.is-fullheight,
90
+ &.is-fullheight-with-navbar
91
+ .hero-body
92
+ align-items: center
93
+ display: flex
94
+ & > .container
95
+ flex-grow: 1
96
+ flex-shrink: 1
97
+ &.is-halfheight
98
+ min-height: 50vh
99
+ &.is-fullheight
100
+ min-height: 100vh
101
+
102
+ // Components
103
+
104
+ .hero-video
105
+ @extend %overlay
106
+ overflow: hidden
107
+ video
108
+ left: 50%
109
+ min-height: 100%
110
+ min-width: 100%
111
+ position: absolute
112
+ top: 50%
113
+ transform: translate3d(-50%, -50%, 0)
114
+ // Modifiers
115
+ &.is-transparent
116
+ opacity: 0.3
117
+ // Responsiveness
118
+ +mobile
119
+ display: none
120
+
121
+ .hero-buttons
122
+ margin-top: 1.5rem
123
+ // Responsiveness
124
+ +mobile
125
+ .button
126
+ display: flex
127
+ &:not(:last-child)
128
+ margin-bottom: 0.75rem
129
+ +tablet
130
+ display: flex
131
+ justify-content: center
132
+ .button:not(:last-child)
133
+ margin-right: 1.5rem
134
+
135
+ // Containers
136
+
137
+ .hero-head,
138
+ .hero-foot
139
+ flex-grow: 0
140
+ flex-shrink: 0
141
+
142
+ .hero-body
143
+ flex-grow: 1
144
+ flex-shrink: 0
145
+ padding: $hero-body-padding
@@ -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.sass"
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,106 @@
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(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert, $primary-light, $primary-dark), "link": ($link, $link-invert, $link-light, $link-dark), "info": ($info, $info-invert, $info-light, $info-dark), "success": ($success, $success-invert, $success-light, $success-dark), "warning": ($warning, $warning-invert, $warning-light, $warning-dark), "danger": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default
104
+ $shades: mergeColorMaps(("black-bis": $black-bis, "black-ter": $black-ter, "grey-darker": $grey-darker, "grey-dark": $grey-dark, "grey": $grey, "grey-light": $grey-light, "grey-lighter": $grey-lighter, "white-ter": $white-ter, "white-bis": $white-bis), $custom-shades) !default
105
+
106
+ $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default
@@ -0,0 +1,110 @@
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)