vitrina 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.editorconfig +13 -0
- data/.github/FUNDING.yml +4 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/gempush.yml +41 -0
- data/.gitignore +7 -0
- data/.travis.yml +8 -0
- data/404.md +5 -0
- data/CHANGELOG.md +59 -0
- data/Gemfile +9 -0
- data/LICENSE +21 -0
- data/README.md +407 -0
- data/_config.yml +39 -0
- data/_data/general.json +133 -0
- data/_data/home.json +316 -0
- data/_data/links.json +34 -0
- data/_data/resume.json +80 -0
- data/_includes/foot.html +6 -0
- data/_includes/footer.html +21 -0
- data/_includes/head.html +13 -0
- data/_includes/header.html +63 -0
- data/_includes/pagination.html +75 -0
- data/_includes/util/grid_columns.html +49 -0
- data/_includes/util/item_content.html +8 -0
- data/_includes/util/items.html +63 -0
- data/_includes/util/navbar_items.html +76 -0
- data/_includes/util/prepend_link.html +5 -0
- data/_includes/util/timeline_cards.html +20 -0
- data/_layouts/blog.html +53 -0
- data/_layouts/compress.html +10 -0
- data/_layouts/contact.html +80 -0
- data/_layouts/default.html +33 -0
- data/_layouts/error.html +10 -0
- data/_layouts/home.html +103 -0
- data/_layouts/papers.html +80 -0
- data/_layouts/post.html +33 -0
- data/_layouts/projects.html +58 -0
- data/_layouts/resume.html +62 -0
- data/_papers/A-systematic-review-on-the-productive-effects-of-hobbies.md +15 -0
- data/_papers/Applications-of-open-collaboration-in-software-development.md +14 -0
- data/_posts/2019-04-03-welcome-human.md +52 -0
- data/_projects/Make.md +5 -0
- data/_projects/Meet.md +5 -0
- data/_projects/Mood.md +5 -0
- data/_projects/Take.md +5 -0
- data/_projects/Think.md +5 -0
- data/_sass/_bulma.scss +3 -0
- data/_sass/_fork_awesome.scss +11 -0
- data/_sass/code.scss +128 -0
- data/_sass/customize.scss +69 -0
- data/_sass/elements.scss +489 -0
- data/assets/css/styles.scss +15 -0
- data/assets/img/card.png +0 -0
- data/assets/img/icon.png +0 -0
- data/assets/img/logo.png +0 -0
- data/assets/img/made-with-bulma.png +0 -0
- data/assets/img/make.png +0 -0
- data/assets/img/meet.png +0 -0
- data/assets/img/mood.png +0 -0
- data/assets/img/take.png +0 -0
- data/assets/img/think.png +0 -0
- data/assets/js/navbar.js +10 -0
- data/assets/js/validate.js +77 -0
- data/blog/index.html +4 -0
- data/contact.md +4 -0
- data/index.md +3 -0
- data/node_modules/.yarn-integrity +18 -0
- data/node_modules/bulma/CHANGELOG.md +1390 -0
- data/node_modules/bulma/LICENSE +21 -0
- data/node_modules/bulma/README.md +130 -0
- data/node_modules/bulma/bulma.sass +9 -0
- data/node_modules/bulma/css/bulma.css +10855 -0
- data/node_modules/bulma/css/bulma.css.map +1 -0
- data/node_modules/bulma/css/bulma.min.css +1 -0
- data/node_modules/bulma/package.json +52 -0
- data/node_modules/bulma/sass/.DS_Store +0 -0
- data/node_modules/bulma/sass/base/_all.sass +5 -0
- data/node_modules/bulma/sass/base/generic.sass +142 -0
- data/node_modules/bulma/sass/base/helpers.sass +281 -0
- data/node_modules/bulma/sass/base/minireset.sass +79 -0
- data/node_modules/bulma/sass/components/_all.sass +15 -0
- data/node_modules/bulma/sass/components/breadcrumb.sass +75 -0
- data/node_modules/bulma/sass/components/card.sass +79 -0
- data/node_modules/bulma/sass/components/dropdown.sass +81 -0
- data/node_modules/bulma/sass/components/level.sass +77 -0
- data/node_modules/bulma/sass/components/list.sass +39 -0
- data/node_modules/bulma/sass/components/media.sass +50 -0
- data/node_modules/bulma/sass/components/menu.sass +57 -0
- data/node_modules/bulma/sass/components/message.sass +99 -0
- data/node_modules/bulma/sass/components/modal.sass +113 -0
- data/node_modules/bulma/sass/components/navbar.sass +441 -0
- data/node_modules/bulma/sass/components/pagination.sass +150 -0
- data/node_modules/bulma/sass/components/panel.sass +119 -0
- data/node_modules/bulma/sass/components/tabs.sass +151 -0
- data/node_modules/bulma/sass/elements/_all.sass +15 -0
- data/node_modules/bulma/sass/elements/box.sass +24 -0
- data/node_modules/bulma/sass/elements/button.sass +323 -0
- data/node_modules/bulma/sass/elements/container.sass +24 -0
- data/node_modules/bulma/sass/elements/content.sass +155 -0
- data/node_modules/bulma/sass/elements/form.sass +1 -0
- data/node_modules/bulma/sass/elements/icon.sass +21 -0
- data/node_modules/bulma/sass/elements/image.sass +71 -0
- data/node_modules/bulma/sass/elements/notification.sass +43 -0
- data/node_modules/bulma/sass/elements/other.sass +39 -0
- data/node_modules/bulma/sass/elements/progress.sass +67 -0
- data/node_modules/bulma/sass/elements/table.sass +127 -0
- data/node_modules/bulma/sass/elements/tag.sass +128 -0
- data/node_modules/bulma/sass/elements/title.sass +70 -0
- data/node_modules/bulma/sass/form/_all.sass +8 -0
- data/node_modules/bulma/sass/form/checkbox-radio.sass +21 -0
- data/node_modules/bulma/sass/form/file.sass +180 -0
- data/node_modules/bulma/sass/form/input-textarea.sass +64 -0
- data/node_modules/bulma/sass/form/select.sass +85 -0
- data/node_modules/bulma/sass/form/shared.sass +55 -0
- data/node_modules/bulma/sass/form/tools.sass +205 -0
- data/node_modules/bulma/sass/grid/_all.sass +4 -0
- data/node_modules/bulma/sass/grid/columns.sass +504 -0
- data/node_modules/bulma/sass/grid/tiles.sass +34 -0
- data/node_modules/bulma/sass/layout/_all.sass +5 -0
- data/node_modules/bulma/sass/layout/footer.sass +9 -0
- data/node_modules/bulma/sass/layout/hero.sass +145 -0
- data/node_modules/bulma/sass/layout/section.sass +13 -0
- data/node_modules/bulma/sass/utilities/.DS_Store +0 -0
- data/node_modules/bulma/sass/utilities/_all.sass +8 -0
- data/node_modules/bulma/sass/utilities/animations.sass +5 -0
- data/node_modules/bulma/sass/utilities/controls.sass +50 -0
- data/node_modules/bulma/sass/utilities/derived-variables.sass +106 -0
- data/node_modules/bulma/sass/utilities/functions.sass +110 -0
- data/node_modules/bulma/sass/utilities/initial-variables.sass +77 -0
- data/node_modules/bulma/sass/utilities/mixins.sass +261 -0
- data/node_modules/fork-awesome/CHANGELOG.md +91 -0
- data/node_modules/fork-awesome/CONTRIBUTORS.md +31 -0
- data/node_modules/fork-awesome/LICENSES +452 -0
- data/node_modules/fork-awesome/README.md +93 -0
- data/node_modules/fork-awesome/css/fork-awesome.css +2573 -0
- data/node_modules/fork-awesome/css/fork-awesome.min.css +12 -0
- data/node_modules/fork-awesome/css/fork-awesome.min.css.map +1 -0
- data/node_modules/fork-awesome/css/v5-compat.css +446 -0
- data/node_modules/fork-awesome/css/v5-compat.min.css +12 -0
- data/node_modules/fork-awesome/css/v5-compat.min.css.map +1 -0
- data/node_modules/fork-awesome/fonts/forkawesome-webfont.eot +0 -0
- data/node_modules/fork-awesome/fonts/forkawesome-webfont.svg +2849 -0
- data/node_modules/fork-awesome/fonts/forkawesome-webfont.ttf +0 -0
- data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff +0 -0
- data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff2 +0 -0
- data/node_modules/fork-awesome/less/animated.less +34 -0
- data/node_modules/fork-awesome/less/bordered-pulled.less +25 -0
- data/node_modules/fork-awesome/less/core.less +12 -0
- data/node_modules/fork-awesome/less/fixed-width.less +6 -0
- data/node_modules/fork-awesome/less/fork-awesome.less +27 -0
- data/node_modules/fork-awesome/less/icons.less +879 -0
- data/node_modules/fork-awesome/less/larger.less +13 -0
- data/node_modules/fork-awesome/less/list.less +19 -0
- data/node_modules/fork-awesome/less/mixins.less +60 -0
- data/node_modules/fork-awesome/less/path.less +15 -0
- data/node_modules/fork-awesome/less/rotated-flipped.less +20 -0
- data/node_modules/fork-awesome/less/screen-reader.less +5 -0
- data/node_modules/fork-awesome/less/stacked.less +20 -0
- data/node_modules/fork-awesome/less/v5-compat.less +176 -0
- data/node_modules/fork-awesome/less/variables.less +890 -0
- data/node_modules/fork-awesome/package.json +49 -0
- data/node_modules/fork-awesome/scss/_animated.scss +34 -0
- data/node_modules/fork-awesome/scss/_bordered-pulled.scss +25 -0
- data/node_modules/fork-awesome/scss/_core.scss +12 -0
- data/node_modules/fork-awesome/scss/_fixed-width.scss +6 -0
- data/node_modules/fork-awesome/scss/_functions.scss +11 -0
- data/node_modules/fork-awesome/scss/_icons.scss +879 -0
- data/node_modules/fork-awesome/scss/_larger.scss +13 -0
- data/node_modules/fork-awesome/scss/_list.scss +19 -0
- data/node_modules/fork-awesome/scss/_mixins.scss +60 -0
- data/node_modules/fork-awesome/scss/_path.scss +15 -0
- data/node_modules/fork-awesome/scss/_rotated-flipped.scss +20 -0
- data/node_modules/fork-awesome/scss/_screen-reader.scss +5 -0
- data/node_modules/fork-awesome/scss/_stacked.scss +20 -0
- data/node_modules/fork-awesome/scss/_variables.scss +890 -0
- data/node_modules/fork-awesome/scss/fork-awesome.scss +28 -0
- data/package.json +32 -0
- data/papers.md +4 -0
- data/projects.md +4 -0
- data/resume.md +4 -0
- data/screenshot.png +0 -0
- data/scripts/build.sh +10 -0
- data/scripts/install.sh +4 -0
- data/scripts/validate.rb +28 -0
- data/vitrina.gemspec +23 -0
- 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,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
|
Binary file
|
@@ -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)
|