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.
@@ -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>
@@ -1 +1,5 @@
1
- <input type="submit" class="btn btn-success" value="{{ include.field[1].label[site.locale] }}" />
1
+ <input
2
+ data-target="contact.submit"
3
+ type="submit"
4
+ class="btn btn-success"
5
+ value="{{ include.field[1].label[site.locale] }}" />
@@ -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
- <script defer type="text/javascript" src="assets/js/script.js"></script>
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
  &mdash;
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 type="radio" name="adhesiones" id="toggler-{{ form }}" class="toggler" autocomplete="off" {% cycle 'checked','' %} />
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 action="{{ site.sutty }}v1/sites/{{ site.hostname }}/posts/{{ form }}" method="post" enctype="multipart/form-data">
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">{{ adhesiones | size }}</span>
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 | date: date_format }}
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 -%}
@@ -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
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Estilos del editor de Sutty
3
+ */
4
+
5
+ // Alineación
6
+ div[data-align="left"] { text-align: left; }
7
+ div[data-align="center"] { text-align: center; }
8
+ div[data-align="right"] { text-align: right; }
data/_sass/embed.scss ADDED
@@ -0,0 +1,5 @@
1
+ iframe {
2
+ border: 0;
3
+ width: 100%;
4
+ min-height: 480px;
5
+ }
@@ -0,0 +1,10 @@
1
+ .floating-alert {
2
+ &.floating-alert-bottom {
3
+ bottom: 2rem;
4
+ }
5
+
6
+ .floating-alert-content {
7
+ border-radius: 2rem;
8
+ padding: .5rem 1rem;
9
+ }
10
+ }
data/_sass/helpers.scss CHANGED
@@ -1,54 +1,318 @@
1
- $bezier: cubic-bezier(0.75, 0, 0.25, 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
- * Crea una propiedad con prefijos de navegador
5
- */
6
- $vendor-prefixes: ("", "-webkit-", "-ms-", "-o-", "-moz-");
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
- * Crea clases para asignar colores según la lista de colores.
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
- svg {
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
@@ -0,0 +1,20 @@
1
+ .navbar {
2
+ &:focus-within {
3
+ .navbar-collapse {
4
+ @extend .d-block;
5
+ }
6
+ }
7
+
8
+ .dropdown {
9
+ .dropdown-menu {
10
+ @extend .d-none;
11
+ }
12
+
13
+ &:hover,
14
+ &:focus-within {
15
+ .dropdown-menu {
16
+ @extend .d-block;
17
+ }
18
+ }
19
+ }
20
+ }