adhesiones-jekyll-theme 0.2.1 → 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 +77 -29
- data/_data/layouts/adhesion_individual.yml +1 -1
- data/_data/layouts/menu.yml +73 -0
- data/_data/layouts/post.yml +0 -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 +20 -1
- data/_layouts/home.html +10 -3
- 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/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 -6
- data/assets/templates/alert.html +7 -0
- data/assets/templates/results.html +17 -0
- metadata +138 -23
@@ -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
@@ -10,7 +10,26 @@
|
|
10
10
|
<meta name="referrer" content="strict-origin-when-cross-origin" />
|
11
11
|
|
12
12
|
<link href="assets/css/styles.css" rel="stylesheet">
|
13
|
-
|
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">
|
14
33
|
|
15
34
|
{% seo %}
|
16
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
|
|
@@ -76,7 +76,10 @@ layout: default
|
|
76
76
|
</label>
|
77
77
|
|
78
78
|
<div class="toggled collapsed fade">
|
79
|
-
<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">
|
80
83
|
<div class="row justify-content-center">
|
81
84
|
{%- for field in site.data.layouts[form] -%}
|
82
85
|
{%- if field[1].skip -%}{% continue %}{%- endif -%}
|
@@ -89,6 +92,10 @@ layout: default
|
|
89
92
|
|
90
93
|
<div class="col-12">
|
91
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>
|
92
99
|
</div>
|
93
100
|
</div>
|
94
101
|
</form>
|
@@ -166,7 +173,7 @@ layout: default
|
|
166
173
|
|
167
174
|
|
168
175
|
<time datetime="{{ adhesion.date }}">
|
169
|
-
{{ adhesion.date | date: site.i18n.date }}
|
176
|
+
{{ adhesion.date | date: site.i18n.date.format }}
|
170
177
|
</time>
|
171
178
|
</header>
|
172
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
data/_sass/snap.scss
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
$snap-types: (none, mandatory, proximity);
|
2
|
+
$snap-directions: (y, x);
|
3
|
+
$snap-points: (start, end, center, none);
|
4
|
+
|
5
|
+
// TODO: Escribir un mixin
|
6
|
+
@each $snap-type in $snap-types {
|
7
|
+
@each $snap-direction in $snap-directions {
|
8
|
+
// El contenedor indica la dirección y obligatoriedad del snap
|
9
|
+
.snap-#{$snap-type}-#{$snap-direction} {
|
10
|
+
scroll-snap-points-#{$snap-direction}: repeat(100%);
|
11
|
+
scroll-snap-destination: 0 0;
|
12
|
+
@each $prefix in $vendor-prefixes {
|
13
|
+
#{$prefix}scroll-snap-type: #{$snap-direction} #{$snap-type};
|
14
|
+
#{$prefix}scroll-snap-type: #{$snap-type};
|
15
|
+
}
|
16
|
+
|
17
|
+
// Lxs hijxs directos se alinean al contenedor
|
18
|
+
@each $snap-point in $snap-points {
|
19
|
+
& > .snap-#{$snap-point} {
|
20
|
+
scroll-snap-align: #{$snap-point};
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
// Poder modificar el snap según el punto de corte
|
25
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
26
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
27
|
+
@each $snap-point in $snap-points {
|
28
|
+
& > .snap-#{$grid-breakpoint}-#{$snap-point} {
|
29
|
+
scroll-snap-align: #{$snap-point};
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
@each $grid-breakpoint, $_ in $grid-breakpoints {
|
37
|
+
@include media-breakpoint-up($grid-breakpoint) {
|
38
|
+
.snap-#{$snap-type}-#{$grid-breakpoint}-#{$snap-direction} {
|
39
|
+
// XXX: Esto está duplicado porque SCSS no nos deja extender
|
40
|
+
// dentro de un @include.
|
41
|
+
// @extend .snap-#{$snap-type}-#{$snap-direction};
|
42
|
+
scroll-snap-points-#{$snap-direction}: repeat(100%);
|
43
|
+
scroll-snap-destination: 0 0;
|
44
|
+
@each $prefix in $vendor-prefixes {
|
45
|
+
#{$prefix}scroll-snap-type: #{$snap-direction} #{$snap-type};
|
46
|
+
#{$prefix}scroll-snap-type: #{$snap-type};
|
47
|
+
}
|
48
|
+
|
49
|
+
@each $snap-point in $snap-points {
|
50
|
+
.snap-#{$snap-point} {
|
51
|
+
scroll-snap-align: #{$snap-point};
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|