adhesiones-jekyll-theme 0.2.0 → 0.2.2
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.
- checksums.yaml +4 -4
- data/README.md +69 -18
- data/_config.yml +25 -2
- data/_data/en.yml +80 -29
- data/_data/es.yml +79 -30
- data/_data/layouts/adhesion.yml +2 -2
- data/_data/layouts/adhesion_individual.yml +1 -1
- data/_data/layouts/menu.yml +73 -0
- data/_data/layouts/post.yml +0 -1
- data/_includes/boolean.html +1 -1
- data/_includes/contact.html +8 -5
- data/_includes/floating_alert.html +6 -0
- data/_includes/item.html +38 -0
- data/_includes/menu.html +27 -0
- data/_includes/navbar.html +17 -9
- data/_includes/password.html +1 -0
- data/_includes/picture.html +23 -0
- data/_includes/preload_font.html +1 -0
- data/_includes/search.html +25 -0
- data/_includes/share.html +5 -4
- data/_includes/submit.html +5 -1
- data/_layouts/default.html +21 -1
- data/_layouts/home.html +21 -6
- data/_layouts/post.html +5 -5
- data/_sass/accessibility.scss +24 -0
- data/_sass/editor.scss +8 -0
- data/_sass/embed.scss +5 -0
- data/_sass/floating_alert.scss +10 -0
- data/_sass/helpers.scss +289 -25
- data/_sass/menu.scss +20 -0
- data/_sass/snap.scss +58 -0
- data/_sass/toggler.scss +9 -0
- data/assets/css/styles.scss +34 -8
- data/assets/js/pack.js +16 -0
- data/assets/js/pack.js.map +1 -0
- data/assets/js/script.js +14 -4
- data/assets/templates/alert.html +7 -0
- data/assets/templates/results.html +17 -0
- metadata +138 -23
@@ -0,0 +1,23 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Imágenes responsive. Esto logra que solo se carguen las versiones de
|
3
|
+
las imágenes con el ancho máximo de la pantalla.
|
4
|
+
|
5
|
+
TODO: Las imágenes en md y superior nunca llegan al ancho máximo así
|
6
|
+
que tienen una resolución de más.
|
7
|
+
{% endcomment %}
|
8
|
+
{%- assign image = include.image.path | default: 'public/placeholder.png' %}
|
9
|
+
{%- assign height = include.height | default: site.i18n.post.height -%}
|
10
|
+
{%- assign width = include.width | default: '100' -%}
|
11
|
+
|
12
|
+
<picture>
|
13
|
+
{% for size in site.images.sizes %}
|
14
|
+
<source srcset="{{ image | thumbnail: size }}" media="(max-width: {{ size }}px)" />
|
15
|
+
{% endfor %}
|
16
|
+
|
17
|
+
<img
|
18
|
+
class="u-photo w-{{ width }} {{ include.cover | equals: false | value_unless: 'fit-cover' }} h-{{ height }} {{ include.extra }}"
|
19
|
+
loading="lazy"
|
20
|
+
itemprop="image"
|
21
|
+
src="{{ image | thumbnail: 1140 }}"
|
22
|
+
alt="{{ include.image.description | include.default_description }}" />
|
23
|
+
</picture>
|
@@ -0,0 +1 @@
|
|
1
|
+
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ include.font }}" />
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{%- assign param = include.param | default: 'search' -%}
|
2
|
+
|
3
|
+
<form method="get" action="" class="form-inline" data-controller="search" data-action="search#search">
|
4
|
+
<div class="form-group">
|
5
|
+
<label for="{{ param }}_q" class="sr-only">{{ site.i18n.search.label }}</label>
|
6
|
+
|
7
|
+
<div class="input-group flex-nowrap">
|
8
|
+
<div class="input-group-prepend">
|
9
|
+
<span class="input-group-text fa fa-search border-0 pt-2"></span>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<input
|
13
|
+
class="border-0 form-control"
|
14
|
+
type="search"
|
15
|
+
required
|
16
|
+
id="{{ param }}_q"
|
17
|
+
name="q"
|
18
|
+
placeholder="{{ site.i18n.search.submit }}"
|
19
|
+
data-target="search.q"
|
20
|
+
autocomplete="off" />
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<input class="sr-only" type="submit" value="{{ site.i18n.search.submit }}" />
|
25
|
+
</form>
|
data/_includes/share.html
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
{% capture url %}{{ site.url }}{{ include.url }}{% endcapture %}
|
2
2
|
|
3
3
|
{% unless include.share.url == '%url' %}
|
4
|
-
{% assign url = url | cgi_escape %}
|
4
|
+
{% assign url = url | default: '' | cgi_escape %}
|
5
5
|
{% endunless %}
|
6
|
-
{% assign title = include.title | cgi_escape %}
|
6
|
+
{% assign title = include.title | default: '' | cgi_escape %}
|
7
7
|
{% assign description = include.description | default: '' | cgi_escape %}
|
8
|
+
{% assign tags = include.tags | join: ',' | default: '' | cgi_escape %}
|
8
9
|
|
9
10
|
<a
|
10
11
|
{% if include.share.url == '%url' %}
|
@@ -12,10 +13,10 @@
|
|
12
13
|
{% else %}
|
13
14
|
target="_blank"
|
14
15
|
{% endif %}
|
15
|
-
rel="nofollow"
|
16
|
+
rel="noopener nofollow"
|
16
17
|
title="{{ include.share.title }}"
|
17
18
|
class="d-flex flex-column align-items-center p-3"
|
18
|
-
href="{{ include.share.url | replace: '%url', url | replace: '%title', title | replace: '%description', description }}">
|
19
|
+
href="{{ include.share.url | replace: '%url', url | replace: '%title', title | replace: '%description', description | replace: '%tags', tags }}">
|
19
20
|
<i class="fa fa-fw fa-2x fa-{{ include.share.icon }}"></i>
|
20
21
|
<span>{{ include.share.title }}</span>
|
21
22
|
</a>
|
data/_includes/submit.html
CHANGED
data/_layouts/default.html
CHANGED
@@ -7,9 +7,29 @@
|
|
7
7
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
8
8
|
<meta name="theme-color" content="white"/>
|
9
9
|
<meta name="color-scheme" content="light"/>
|
10
|
+
<meta name="referrer" content="strict-origin-when-cross-origin" />
|
10
11
|
|
11
12
|
<link href="assets/css/styles.css" rel="stylesheet">
|
12
|
-
|
13
|
+
|
14
|
+
{% comment %}
|
15
|
+
Webpack. La configuración se pasa por variables de entorno, en
|
16
|
+
desarrollo hay que evitar el archivo .env (copiarlo de .env.example
|
17
|
+
si no existe.
|
18
|
+
{% endcomment %}
|
19
|
+
<link rel="preload" as="script" type="text/javascript" href="env.js" />
|
20
|
+
<script type="text/javascript" src="env.js"></script>
|
21
|
+
<script defer type="text/javascript" src="assets/js/pack.js"></script>
|
22
|
+
|
23
|
+
{% comment %}
|
24
|
+
Agregar otras tipografías. Esto hace que las tipografías se carguen
|
25
|
+
lo más rápido posible y minimizar el tiempo en que se ven las del
|
26
|
+
navegador. En Firefox todavía no está soportado.
|
27
|
+
{% endcomment %}
|
28
|
+
{% include_cached preload_font.html font='assets/fonts/forkawesome-webfont.woff2' %}
|
29
|
+
|
30
|
+
<link rel="icon" type="image/svg+xml" href="public/favicon.svg">
|
31
|
+
<link rel="alternate icon" href="public/favicon.ico">
|
32
|
+
<link rel="mask-icon" href="public/favicon.svg" color="white">
|
13
33
|
|
14
34
|
{% seo %}
|
15
35
|
{% feed_meta %}
|
data/_layouts/home.html
CHANGED
@@ -27,7 +27,7 @@ layout: default
|
|
27
27
|
<h1 class="font-weight-bold">{{ documento.title }}</h1>
|
28
28
|
—
|
29
29
|
<time datetime="{{ documento.date }}">
|
30
|
-
{{ documento.date | date: site.i18n.date }}
|
30
|
+
{{ documento.date | date: site.i18n.date.format }}
|
31
31
|
</time>
|
32
32
|
</div>
|
33
33
|
|
@@ -63,13 +63,23 @@ layout: default
|
|
63
63
|
<div class="col-12 col-lg-6 pt-5">
|
64
64
|
{%- assign forms = 'adhesion,adhesion_individual' | split: ',' -%}
|
65
65
|
{% for form in forms %}
|
66
|
-
<input
|
66
|
+
<input
|
67
|
+
type="radio"
|
68
|
+
name="adhesiones"
|
69
|
+
id="toggler-{{ form }}"
|
70
|
+
class="toggler"
|
71
|
+
autocomplete="off"
|
72
|
+
{% if form == site.i18n.home.form.default %}checked{% endif %}
|
73
|
+
/>
|
67
74
|
<label class="btn border position-absolute top {% cycle 'left','right' %}" for="toggler-{{ form }}">
|
68
75
|
{{ site.i18n.home.form[form] }}
|
69
76
|
</label>
|
70
77
|
|
71
78
|
<div class="toggled collapsed fade">
|
72
|
-
<form
|
79
|
+
<form
|
80
|
+
data-controller="contact"
|
81
|
+
data-delay="30"
|
82
|
+
action="{{ site.sutty }}v1/sites/{{ site.hostname }}/posts/{{ form }}" method="post" enctype="multipart/form-data">
|
73
83
|
<div class="row justify-content-center">
|
74
84
|
{%- for field in site.data.layouts[form] -%}
|
75
85
|
{%- if field[1].skip -%}{% continue %}{%- endif -%}
|
@@ -82,6 +92,10 @@ layout: default
|
|
82
92
|
|
83
93
|
<div class="col-12">
|
84
94
|
<input type="submit" value="{{ site.i18n.home.form.submit }}" class="btn btn-success btn-block" />
|
95
|
+
<small
|
96
|
+
class="form-text text-muted">
|
97
|
+
{{ site.i18n.home.form.submit_help }}
|
98
|
+
</small>
|
85
99
|
</div>
|
86
100
|
</div>
|
87
101
|
</form>
|
@@ -119,7 +133,8 @@ layout: default
|
|
119
133
|
</section>
|
120
134
|
|
121
135
|
{%- assign adhesiones = site.posts | where: 'layout', 'adhesion' -%}
|
122
|
-
{%- assign adhesiones_individuales = site.posts | where: 'layout', 'adhesion_individual' -%}
|
136
|
+
{%- assign adhesiones_individuales = site.posts | where: 'layout', 'adhesion_individual' | size -%}
|
137
|
+
{%- assign total = adhesiones | size | plus: adhesiones_individuales -%}
|
123
138
|
|
124
139
|
<section class="mt-5" id="adhesiones">
|
125
140
|
<header class="row align-items-center justify-content-between">
|
@@ -129,7 +144,7 @@ layout: default
|
|
129
144
|
|
130
145
|
<div class="col-6 col-lg-4">
|
131
146
|
<p>
|
132
|
-
<span class="font-weight-bold font-bigger">{{
|
147
|
+
<span class="font-weight-bold font-bigger">{{ total }}</span>
|
133
148
|
{{ site.i18n.home.metric }}
|
134
149
|
<i class="fa fa-line-chart"></i>
|
135
150
|
</p>
|
@@ -158,7 +173,7 @@ layout: default
|
|
158
173
|
|
159
174
|
|
160
175
|
<time datetime="{{ adhesion.date }}">
|
161
|
-
{{ adhesion.date | date: site.i18n.date }}
|
176
|
+
{{ adhesion.date | date: site.i18n.date.format }}
|
162
177
|
</time>
|
163
178
|
</header>
|
164
179
|
|
data/_layouts/post.html
CHANGED
@@ -4,10 +4,10 @@ layout: default
|
|
4
4
|
|
5
5
|
<article class="h-entry" itemscope itemtype="http://schema.org/Article">
|
6
6
|
<header>
|
7
|
-
<h1 class="p-name" itemprop="name headline">{{ page.title | escape }}</h1>
|
7
|
+
<h1 class="p-name" itemprop="name headline">{{ page.title | default: '' | escape }}</h1>
|
8
8
|
|
9
9
|
{%- if page.description -%}
|
10
|
-
<p class="lead p-summary" itemprop="description">{{ page.description | escape }}</p>
|
10
|
+
<p class="lead p-summary" itemprop="description">{{ page.description | default: '' | escape }}</p>
|
11
11
|
{%- endif -%}
|
12
12
|
|
13
13
|
{%- if page.image.path -%}
|
@@ -22,14 +22,14 @@ layout: default
|
|
22
22
|
|
23
23
|
<p>
|
24
24
|
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
25
|
-
{%- assign date_format = site.i18n.date | default: "%b %-d, %Y" -%}
|
26
|
-
{{ page.date |
|
25
|
+
{%- assign date_format = site.i18n.date.format | default: "%b %-d, %Y" -%}
|
26
|
+
{{ page.date | date_local: date_format }}
|
27
27
|
</time>
|
28
28
|
{%- for author in page.author -%}
|
29
29
|
•
|
30
30
|
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
31
31
|
<span class="p-author h-card" itemprop="name">
|
32
|
-
{{ author | escape }}
|
32
|
+
{{ author | default: '' | escape }}
|
33
33
|
</span>
|
34
34
|
</span>
|
35
35
|
{%- endfor -%}
|
data/_sass/accessibility.scss
CHANGED
@@ -11,3 +11,27 @@
|
|
11
11
|
animation: none !important;
|
12
12
|
}
|
13
13
|
}
|
14
|
+
|
15
|
+
.inaccesible {
|
16
|
+
outline: $red 1px solid;
|
17
|
+
|
18
|
+
@extend .position-relative;
|
19
|
+
|
20
|
+
&:focus::after {
|
21
|
+
@extend .position-fixed;
|
22
|
+
@extend .background-red;
|
23
|
+
@extend .white;
|
24
|
+
@extend .p-3;
|
25
|
+
|
26
|
+
left: 0;
|
27
|
+
bottom: 0;
|
28
|
+
width: 100vw;
|
29
|
+
font-size: 1rem;
|
30
|
+
|
31
|
+
word-wrap: normal;
|
32
|
+
line-break: auto;
|
33
|
+
white-space: pre-line;
|
34
|
+
|
35
|
+
content: attr(aria-label);
|
36
|
+
}
|
37
|
+
}
|
data/_sass/editor.scss
ADDED
data/_sass/embed.scss
ADDED
data/_sass/helpers.scss
CHANGED
@@ -1,54 +1,318 @@
|
|
1
|
-
|
1
|
+
// En este archivo colocamos todos las herramientas que nos hagan falta,
|
2
|
+
// de forma que podamos generar clases específicas que sean combinables
|
3
|
+
// con otras, en lugar de escribir clases específicas para cada
|
4
|
+
// elemento.
|
5
|
+
//
|
6
|
+
// Cada clase tiene su versión responsive de acuerdo a los parámetros de
|
7
|
+
// Bootstrap.
|
2
8
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
9
|
+
// Ocultar la barra de scroll, útil para sliders horizontales.
|
10
|
+
.no-scrollbar {
|
11
|
+
scrollbar-width: none;
|
12
|
+
-webkit-overflow-scrolling: touch;
|
13
|
+
|
14
|
+
&::-webkit-scrollbar { display: none; }
|
15
|
+
}
|
16
|
+
|
17
|
+
// Mismo alto que ancho
|
18
|
+
.square {
|
19
|
+
@extend .position-relative;
|
20
|
+
padding-bottom: 100%;
|
21
|
+
|
22
|
+
& > * {
|
23
|
+
@extend .position-absolute;
|
24
|
+
@extend .top-0;
|
25
|
+
@extend .left-0;
|
26
|
+
@extend .h-100;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
// Eventos del cursor
|
31
|
+
@each $event in (none, auto) {
|
32
|
+
.pointer-event-#{$event} {
|
33
|
+
pointer-events: $event;
|
34
|
+
}
|
35
|
+
|
36
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
37
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
38
|
+
.pointer-event-#{$grid-breakpoint}-#{$event} {
|
39
|
+
pointer-events: $event;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
// Agrega una transición a cualquier modificación de atributos
|
46
|
+
.transition {
|
47
|
+
@include transition($transition-base);
|
48
|
+
}
|
49
|
+
|
50
|
+
// Ajustes de imagen y video con respecto al contenedor
|
51
|
+
@each $keyword in (contain, cover, fill, none, scale-down) {
|
52
|
+
.fit-#{$keyword} {
|
53
|
+
object-fit: #{$keyword};
|
54
|
+
}
|
55
|
+
|
56
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
57
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
58
|
+
.fit-#{$grid-breakpoint}-#{$keyword} {
|
59
|
+
object-fit: #{$keyword};
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
// Cursores
|
66
|
+
@each $cursor in (pointer none) {
|
67
|
+
.cursor-#{$cursor} {
|
68
|
+
cursor: $cursor;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
// Overflow
|
73
|
+
@each $value in (auto, hidden, scroll) {
|
74
|
+
.overflow-#{$value} {
|
75
|
+
overflow: $value !important;
|
76
|
+
}
|
77
|
+
|
78
|
+
@each $axis in (y, x) {
|
79
|
+
.overflow-#{$axis}-#{$value} {
|
80
|
+
overflow-#{$axis}: $value !important;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
85
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
86
|
+
.overflow-#{$grid-breakpoint}-#{$value} {
|
87
|
+
overflow: $value !important;
|
88
|
+
}
|
89
|
+
|
90
|
+
@each $axis in (y, x) {
|
91
|
+
.overflow-#{$grid-breakpoint}-#{$axis}-#{$value} {
|
92
|
+
overflow-#{$axis}: $value !important;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
@each $spacer, $length in $spacers {
|
100
|
+
// Poder aumentar o disminuir el alto de la tipografía
|
101
|
+
.f-#{$spacer} {
|
102
|
+
font-size: $length !important;
|
103
|
+
}
|
104
|
+
|
105
|
+
// Columnas de texto
|
106
|
+
.text-column-#{$spacer} {
|
107
|
+
column-count: $spacer;
|
108
|
+
}
|
109
|
+
|
110
|
+
// Limitar la cantidad de líneas de un bloque de texto
|
111
|
+
.line-clamp-#{$spacer} {
|
112
|
+
overflow: hidden;
|
113
|
+
display: -webkit-box;
|
114
|
+
-webkit-line-clamp: $spacer;
|
115
|
+
-webkit-box-orient: vertical;
|
116
|
+
}
|
117
|
+
|
118
|
+
// Ubicación absoluta, usar con position-*
|
119
|
+
@each $direction in (top, right, bottom, left) {
|
120
|
+
.#{$direction}-#{$spacer} {
|
121
|
+
#{$direction}: $length
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
126
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
127
|
+
// Poder aumentar o disminuir el alto de la tipografía
|
128
|
+
.f-#{$grid-breakpoint}-#{$spacer} {
|
129
|
+
font-size: $length !important;
|
130
|
+
}
|
131
|
+
|
132
|
+
// Columnas de texto
|
133
|
+
.text-column-#{$grid-breakpoint}-#{$spacer} {
|
134
|
+
column-count: $spacer;
|
135
|
+
}
|
136
|
+
|
137
|
+
// Limitar la cantidad de líneas de un bloque de texto
|
138
|
+
.line-clamp-#{$grid-breakpoint}-#{$spacer} {
|
139
|
+
overflow: hidden;
|
140
|
+
display: -webkit-box;
|
141
|
+
-webkit-line-clamp: $spacer;
|
142
|
+
-webkit-box-orient: vertical;
|
143
|
+
}
|
144
|
+
|
145
|
+
// Ubicación absoluta, usar con position-*
|
146
|
+
@each $direction in (top, right, bottom, left) {
|
147
|
+
.#{$direction}-#{$grid-breakpoint}-#{$spacer} {
|
148
|
+
#{$direction}: $length
|
149
|
+
}
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
// anchos y altos
|
156
|
+
@each $prop, $abbrev in (width: w, height: h) {
|
157
|
+
@each $size, $length in $sizes {
|
158
|
+
.#{$abbrev}-#{$size} { #{$prop}: $length; }
|
159
|
+
.#{$abbrev}-#{$size} { #{$prop}: $length; }
|
160
|
+
.min-#{$abbrev}-#{$size} { min-#{$prop}: $length; }
|
161
|
+
.max-#{$abbrev}-#{$size} { max-#{$prop}: $length; }
|
162
|
+
|
163
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
164
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
165
|
+
.#{$abbrev}-#{$grid-breakpoint}-#{$size} { #{$prop}: $length; }
|
166
|
+
.min-#{$abbrev}-#{$grid-breakpoint}-#{$size} { min-#{$prop}: $length; }
|
167
|
+
.max-#{$abbrev}-#{$grid-breakpoint}-#{$size} { max-#{$prop}: $length; }
|
168
|
+
}
|
169
|
+
}
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
@each $scroll in (auto, smooth) {
|
174
|
+
.scroll-#{$scroll} {
|
175
|
+
scroll-behavior: #{$scroll};
|
176
|
+
}
|
177
|
+
|
178
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
179
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
180
|
+
.scroll-#{$grid-breakpoint}-#{$scroll} {
|
181
|
+
scroll-behavior: #{$scroll};
|
182
|
+
}
|
183
|
+
}
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
// Versiones responsive de utilidades Bootstrap
|
188
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
189
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
190
|
+
// Bordes
|
191
|
+
// node_modules/bootstrap/scss/utilities/_borders.scss
|
192
|
+
.border-#{$grid-breakpoint} { border: $border-width solid $border-color !important; }
|
193
|
+
.border-#{$grid-breakpoint}-top { border-top: $border-width solid $border-color !important; }
|
194
|
+
.border-#{$grid-breakpoint}-right { border-right: $border-width solid $border-color !important; }
|
195
|
+
.border-#{$grid-breakpoint}-bottom { border-bottom: $border-width solid $border-color !important; }
|
196
|
+
.border-#{$grid-breakpoint}-left { border-left: $border-width solid $border-color !important; }
|
197
|
+
.border-#{$grid-breakpoint}-0 { border: 0 !important; }
|
198
|
+
.border-#{$grid-breakpoint}-top-0 { border-top: 0 !important; }
|
199
|
+
.border-#{$grid-breakpoint}-right-0 { border-right: 0 !important; }
|
200
|
+
.border-#{$grid-breakpoint}-bottom-0 { border-bottom: 0 !important; }
|
201
|
+
.border-#{$grid-breakpoint}-left-0 { border-left: 0 !important; }
|
202
|
+
|
203
|
+
// Alineación
|
204
|
+
.text-#{$grid-breakpoint}-left { text-align: left !important; }
|
205
|
+
.text-#{$grid-breakpoint}-right { text-align: right !important; }
|
206
|
+
.text-#{$grid-breakpoint}-center { text-align: center !important; }
|
207
|
+
|
208
|
+
// Posicionamiento
|
209
|
+
@each $position in $positions {
|
210
|
+
.position-#{$grid-breakpoint}-#{$position} { position: $position !important; }
|
211
|
+
}
|
212
|
+
|
213
|
+
// Anchos y altos
|
214
|
+
@each $prop, $abbrev in (width: w, height: h) {
|
215
|
+
@each $size, $length in $sizes {
|
216
|
+
.#{$abbrev}-#{$grid-breakpoint}-#{$size} { #{$prop}: $length !important; }
|
217
|
+
.min-#{$abbrev}-#{$grid-breakpoint}-#{$size} { min-#{$prop}: $length !important; }
|
218
|
+
}
|
219
|
+
}
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
// Crea una propiedad con prefijos de navegador
|
7
224
|
@mixin vendor-prefix($property, $definition...) {
|
8
225
|
@each $prefix in $vendor-prefixes {
|
9
226
|
#{$prefix}$property: $definition;
|
10
227
|
}
|
11
228
|
}
|
12
229
|
|
13
|
-
|
14
|
-
|
15
|
-
*/
|
16
|
-
@each $color, $_ in $colors {
|
230
|
+
// Colores
|
231
|
+
@each $color, $rgb in $colors {
|
17
232
|
.background-#{$color} {
|
18
233
|
background-color: var(--#{$color});
|
234
|
+
|
235
|
+
&:focus {
|
236
|
+
background-color: var(--#{$color});
|
237
|
+
}
|
19
238
|
}
|
20
239
|
|
240
|
+
@each $opacity, $degree in $opacities {
|
241
|
+
.background-#{$color}-t#{$opacity} {
|
242
|
+
background-color: scale-color($rgb, $alpha: $degree);
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
@each $attr in (stroke, fill) {
|
247
|
+
.#{$attr}-#{$color} {
|
248
|
+
svg {
|
249
|
+
* {
|
250
|
+
#{$attr}: var(--#{$color});
|
251
|
+
}
|
252
|
+
}
|
253
|
+
}
|
254
|
+
}
|
255
|
+
|
256
|
+
// Barras de scroll de colores
|
257
|
+
.scrollbar-#{$color} {
|
258
|
+
scrollbar-color: var(--#{$color}) transparent;
|
259
|
+
scrollbar-width: thin;
|
260
|
+
|
261
|
+
&::-webkit-scrollbar {
|
262
|
+
width: 5px;
|
263
|
+
height: 8px;
|
264
|
+
background-color: transparent;
|
265
|
+
}
|
266
|
+
|
267
|
+
&::-webkit-scrollbar-thumb {
|
268
|
+
background: var(--#{$color});
|
269
|
+
}
|
270
|
+
}
|
271
|
+
|
272
|
+
// Bordes
|
273
|
+
.border-#{$color} {
|
274
|
+
border-color: var(--#{$color}) !important;
|
275
|
+
}
|
276
|
+
|
277
|
+
// Cambiar el fondo al pasar por encima o hacer foco
|
278
|
+
.hover-bg-#{$color} {
|
279
|
+
&:hover,
|
280
|
+
&:focus-within {
|
281
|
+
background-color: var(--#{$color});
|
282
|
+
}
|
283
|
+
}
|
284
|
+
|
285
|
+
// Cambiar el color al pasar por encima o hacer foco
|
286
|
+
.hover-#{$color} {
|
287
|
+
&:hover,
|
288
|
+
&:focus-within {
|
289
|
+
color: var(--#{$color});
|
290
|
+
}
|
291
|
+
}
|
292
|
+
|
293
|
+
// Cambiar el color
|
21
294
|
.#{$color} {
|
22
295
|
color: var(--#{$color});
|
23
296
|
|
297
|
+
&:focus {
|
298
|
+
color: var(--#{$color});
|
299
|
+
}
|
300
|
+
|
301
|
+
// Invertir el color en la selección
|
24
302
|
::-moz-selection,
|
25
303
|
::selection {
|
26
304
|
background: var(--#{$color});
|
27
305
|
color: white;
|
28
306
|
}
|
29
307
|
|
30
|
-
|
31
|
-
* {
|
32
|
-
fill: var(--#{$color});
|
33
|
-
}
|
34
|
-
}
|
35
|
-
|
308
|
+
// Ajustes para Bootstrap
|
36
309
|
.form-control {
|
37
310
|
border-color: var(--#{$color});
|
38
|
-
|
39
|
-
|
40
|
-
.btn {
|
41
|
-
background-color: var(--#{$color});
|
42
|
-
color: white;
|
43
|
-
border-color: var(--#{$color});
|
311
|
+
color: var(--#{$color});
|
44
312
|
}
|
45
313
|
|
46
314
|
hr {
|
47
315
|
border-color: var(--#{$color});
|
48
316
|
}
|
49
|
-
|
50
|
-
a {
|
51
|
-
color: var(--#{$color});
|
52
|
-
}
|
53
317
|
}
|
54
318
|
}
|
data/_sass/menu.scss
ADDED