recursero-jekyll-theme 0.1.3 → 0.2.0

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +69 -18
  3. data/_config.yml +77 -0
  4. data/_data/assets.json +6 -0
  5. data/_data/en.yml +61 -15
  6. data/_data/es.yml +64 -15
  7. data/_data/forms/contacto.yml +2 -2
  8. data/_data/layouts/about.yml +34 -17
  9. data/_data/layouts/menu.yml +73 -0
  10. data/_includes/contact.html +8 -5
  11. data/_includes/floating_alert.html +6 -0
  12. data/_includes/item.html +38 -0
  13. data/_includes/menu.html +23 -0
  14. data/_includes/onboarding.html +37 -0
  15. data/_includes/pack.html +1 -0
  16. data/_includes/password.html +1 -0
  17. data/_includes/picture.html +23 -0
  18. data/_includes/preload_font.html +1 -0
  19. data/_includes/search.html +4 -3
  20. data/_includes/share.html +3 -2
  21. data/_includes/submit.html +5 -1
  22. data/_layouts/about.html +1 -1
  23. data/_layouts/default.html +34 -2
  24. data/_layouts/page.html +1 -1
  25. data/_layouts/place.html +1 -1
  26. data/_layouts/post.html +2 -2
  27. data/_sass/accessibility.scss +48 -7
  28. data/_sass/editor.scss +17 -0
  29. data/_sass/embed.scss +8 -0
  30. data/_sass/floating_alert.scss +48 -0
  31. data/_sass/fonts.scss +0 -0
  32. data/_sass/helpers.scss +327 -31
  33. data/_sass/menu.scss +36 -0
  34. data/_sass/snap.scss +60 -0
  35. data/_sass/toggler.scss +34 -11
  36. data/assets/css/styles.scss +89 -7
  37. data/assets/data/manifest.js +29 -0
  38. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  39. data/assets/js/pack.3cf11284b767fdbbefa6.js +113 -0
  40. data/assets/js/pack.3cf11284b767fdbbefa6.js.map +1 -0
  41. data/assets/js/pack.4ced2556b94e5c09e5bc.js +113 -0
  42. data/assets/js/pack.4ced2556b94e5c09e5bc.js.map +1 -0
  43. data/assets/js/pack.c42a6f683b2c0c0fa404.js +90 -0
  44. data/assets/js/pack.c42a6f683b2c0c0fa404.js.map +1 -0
  45. data/assets/js/pack.d9a353affdca4644a9b2.js +113 -0
  46. data/assets/js/pack.d9a353affdca4644a9b2.js.map +1 -0
  47. data/assets/js/sw.3cf11284b767fdbbefa6.js +2 -0
  48. data/assets/js/sw.3cf11284b767fdbbefa6.js.map +1 -0
  49. data/assets/templates/alert.html +7 -0
  50. data/assets/templates/results.html +15 -7
  51. metadata +82 -45
  52. data/_includes/navbar.html +0 -53
  53. data/_sass/share.html +0 -12
  54. data/_sass/share_box.html +0 -16
  55. data/assets/js/pack.js +0 -90
  56. data/assets/js/pack.js.map +0 -1
data/_sass/editor.scss ADDED
@@ -0,0 +1,17 @@
1
+ ////
2
+ /// Estilos del editor de Sutty
3
+ /// @group Editor
4
+ ///
5
+
6
+ /// Alineaciones soportadas. No soportamos justificado porque es
7
+ /// difícil que quede bien en web.
8
+ $aligns: (left,center,right);
9
+
10
+ /// Recorrer las alineaciones.
11
+ /// @name Alineaciones
12
+ @each $align in $aligns {
13
+ /// El editor coloca la alineación en un atributo data-align,
14
+ /// recorriendo cada una de las alineaciones disponibles.
15
+ /// @todo Lograr que SassDoc muestre el código completo.
16
+ div[data-align="#{$align}"] { text-align: $align; }
17
+ }
data/_sass/embed.scss CHANGED
@@ -1,3 +1,11 @@
1
+ ////
2
+ /// Recursos externos
3
+ /// @group Recursos externos
4
+ ///
5
+
6
+ /// Los `<iframe>` ocupan todo el ancho del contenedor y tienen un alto
7
+ /// mínimo de 480px.
8
+ /// @link jekyll-embed-urls
1
9
  iframe {
2
10
  border: 0;
3
11
  width: 100%;
@@ -0,0 +1,48 @@
1
+ ////
2
+ /// Alertas flotantes
3
+ /// @group Alertas flotantes
4
+ ////
5
+
6
+ /// Posiciones posibles
7
+ $positions: (top, right, bottom, left);
8
+
9
+ /// Las alertas flotantes son notificaciones emergentes que desaparecen
10
+ /// por su cuenta, como los "Toast" de Android. Tienen opciones de
11
+ /// accesibilidad para que los lectores de pantalla también las
12
+ /// notifiquen.
13
+ /// @link _packs/controllers/notification_controller.js
14
+ /// @link _includes/floating_alert.html
15
+ /// @example html
16
+ /// <div class="floating-alert floating-alert-default floating-alert-bottom">
17
+ /// <div class="floating-alert-content"></div>
18
+ /// </div>
19
+ .floating-alert {
20
+ /// No se puede interactuar
21
+ @extend .pointer-event-none;
22
+
23
+ /// El estilo por defecto las coloca centradas y con una transición al
24
+ /// aparecer o desaparecer. Si no usamos esta clase podemos darle
25
+ /// nuestro propio estilo.
26
+ &.floating-alert-default {
27
+ @extend .d-flex;
28
+ @extend .justify-content-center;
29
+ @extend .w-100;
30
+ @extend .position-fixed;
31
+ @extend .fade;
32
+ @extend .hide;
33
+ }
34
+
35
+ @each $position in $positions {
36
+ /// Pueden tener una posición fija
37
+ &.floating-alert-#{$position} {
38
+ #{$position}: 2rem;
39
+ }
40
+ }
41
+
42
+ /// Tienen un borde redondeado y un padding para parecerse a un toast.
43
+ /// El color de fondo se lo da una clase background-*
44
+ .floating-alert-content {
45
+ border-radius: 2rem;
46
+ padding: .5rem 1rem;
47
+ }
48
+ }
data/_sass/fonts.scss ADDED
File without changes
data/_sass/helpers.scss CHANGED
@@ -1,54 +1,350 @@
1
- $bezier: cubic-bezier(0.75, 0, 0.25, 1);
1
+ ////
2
+ /// @group Utilidades
3
+ ////
2
4
 
3
- /*
4
- * Crea una propiedad con prefijos de navegador
5
- */
6
- $vendor-prefixes: ("", "-webkit-", "-ms-", "-o-", "-moz-");
5
+ /// Direcciones posibles
6
+ $directions: (top, right, bottom, left);
7
+
8
+ /// Crea una propiedad con prefijos de navegador, cuando no es
9
+ /// soportada por estándares, por ejemplo el guionado de texto.
7
10
  @mixin vendor-prefix($property, $definition...) {
8
11
  @each $prefix in $vendor-prefixes {
9
12
  #{$prefix}$property: $definition;
10
13
  }
11
14
  }
12
15
 
13
- /*
14
- * Crea clases para asignar colores según la lista de colores.
15
- */
16
- @each $color, $_ in $colors {
17
- .background-#{$color} {
18
- background-color: var(--#{$color});
19
- }
16
+ @each $breakpoint in map-keys($grid-breakpoints) {
17
+ @include media-breakpoint-up($breakpoint) {
18
+ /// Obtiene el sufijo para cada clase responsive usando mixins de
19
+ /// Bootstrap. Valores posibles:
20
+ /// `""` (nada, aplica a todas las resoluciones), `-xs`, `-sm`,
21
+ /// `-md`, `-lg`, `-xl`.
22
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
23
+
24
+ /// Ocultar la barra de scroll, útil para sliders horizontales.
25
+ ///
26
+ /// @example html
27
+ /// <div class="no-scrollbar-md"></div>
28
+ .no-scrollbar#{$infix} {
29
+ scrollbar-width: none;
30
+ -webkit-overflow-scrolling: touch;
31
+
32
+ &::-webkit-scrollbar { display: none; }
33
+ }
20
34
 
21
- .#{$color} {
22
- color: var(--#{$color});
35
+ /// Un elemento cuadrado
36
+ ///
37
+ /// @example html
38
+ /// <div class="square-lg"></div>
39
+ .square#{$infix} {
40
+ position: relative !important;
41
+ padding-bottom: 100%;
23
42
 
24
- ::-moz-selection,
25
- ::selection {
26
- background: var(--#{$color});
27
- color: white;
43
+ & > * {
44
+ position: absolute !important;
45
+ top: 0 !important;
46
+ left: 0 !important;
47
+ height: 100% !important;
48
+ }
28
49
  }
29
50
 
30
- svg {
31
- * {
32
- fill: var(--#{$color});
51
+ /// Cursores
52
+ $cursors: (pointer, none);
53
+ @each $cursor in $cursors {
54
+ /// El elemento va a tener un cursor
55
+ ///
56
+ /// @example html
57
+ /// <div class="cursor-pointer"></div>
58
+ .cursor#{$infix}-#{$cursor} {
59
+ cursor: $cursor;
33
60
  }
34
61
  }
35
62
 
36
- .form-control {
37
- border-color: var(--#{$color});
63
+ /// Eventos del cursor
64
+ $events: (none, auto);
65
+ @each $event in $events {
66
+ /// Habilita o deshabilita recibir eventos al tocar o clickear.
67
+ ///
68
+ /// @example html
69
+ /// <div class="pointer-event-none"></div>
70
+ .pointer-event#{$infix}-#{$event} {
71
+ pointer-events: $event;
72
+ }
38
73
  }
39
74
 
40
- .btn {
41
- background-color: var(--#{$color});
42
- color: white;
43
- border-color: var(--#{$color});
75
+ /// Agrega una transición a cualquier modificación de atributos
76
+ .transition#{$infix} {
77
+ @include transition($transition-base);
44
78
  }
45
79
 
46
- hr {
47
- border-color: var(--#{$color});
80
+ /// Valores posibles para la propiedad `object-fit`
81
+ $objects: (contain, cover, fill, none, scale-down);
82
+ @each $object in $objects {
83
+ /// Ajustes de imagen y video con respecto al contenedor
84
+ ///
85
+ /// @example html
86
+ /// <img class="object-cover object-lg-contain"/>
87
+ .fit#{$infix}-#{$object} {
88
+ object-fit: #{$object};
89
+ }
48
90
  }
49
91
 
50
- a {
51
- color: var(--#{$color});
92
+ /// _Overflow_, qué hacer cuando el contenido sobrepasa los límites del
93
+ /// contenedor.
94
+ $overflows: (auto, hidden, scroll);
95
+ /// También puede ser solo dentro de un eje
96
+ $overflow-axis: (x, y);
97
+ @each $overflow in $overflows {
98
+ /// Manejar el contenido sobre cualquier eje
99
+ ///
100
+ /// @example html
101
+ /// <div class="overflow-hidden overflow-scroll-md"></div>
102
+ .overflow#{$infix}-#{$overflow} {
103
+ overflow: $overflow !important;
104
+ }
105
+
106
+ @each $axis in $overflow-axis {
107
+ /// Manejar el contenido sobre un eje particular
108
+ ///
109
+ /// @example html
110
+ /// <div class="overflow-hidden-y overflow-scroll-x"></div>
111
+ .overflow-#{$axis}#{$infix}-#{$overflow} {
112
+ overflow-#{$axis}: $overflow !important;
113
+ }
114
+ }
115
+ }
116
+
117
+ @each $spacer, $length in $spacers {
118
+ /// Poder aumentar o disminuir el alto de la tipografía. Los
119
+ /// `spacers` están definidos en Bootstrap y pueden ser extendidos
120
+ /// desde styles.scss
121
+ ///
122
+ /// @link assets/css/styles.scss
123
+ /// @example html
124
+ /// <h1 class="f-3"></h1>
125
+ .f#{$infix}-#{$spacer} {
126
+ font-size: $length !important;
127
+ }
128
+
129
+ /// Columnas de texto
130
+ ///
131
+ /// @example html
132
+ /// <div class="text-column-1 text-column-md-3"></div>
133
+ .text-column#{$infix}-#{$spacer} {
134
+ column-count: $spacer;
135
+ }
136
+
137
+ /// Limitar la cantidad de líneas de un bloque de texto,
138
+ /// reemplazando el sobrante por puntos suspensivos. Es útil cuando
139
+ /// el diseño solo pide una cantidad de líneas pero no sabemos cuál
140
+ /// va a ser el largo.
141
+ ///
142
+ /// @example html
143
+ /// <h1 class="line-clamp-1"></h1>
144
+ .line-clamp#{$infix}-#{$spacer} {
145
+ overflow: hidden;
146
+ display: -webkit-box;
147
+ -webkit-line-clamp: $spacer;
148
+ -webkit-box-orient: vertical;
149
+ }
150
+
151
+ @each $direction in $directions {
152
+ /// Ubicación absoluta, usar con position-*
153
+ ///
154
+ /// @example html
155
+ /// <div class="position-absolute top-0 left-3"></div>
156
+ .#{$direction}#{$infix}-#{$spacer} {
157
+ #{$direction}: $length
158
+ }
159
+ }
160
+ }
161
+
162
+ /// Anchos y altos en base a `$sizes` definido por Bootstrap. Para
163
+ /// personalizar los tamaños, modificarlos o agregarlos en `styles.scss`
164
+ ///
165
+ /// @link assets/css/styles.scss
166
+ @each $prop, $abbrev in (width: w, height: h) {
167
+ @each $size, $length in $sizes {
168
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
169
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
170
+ .min-#{$abbrev}#{$infix}-#{$size} { min-#{$prop}: $length !important; }
171
+ .max-#{$abbrev}#{$infix}-#{$size} { max-#{$prop}: $length !important; }
172
+ }
173
+ }
174
+
175
+ /// Tipos de _scroll_ posible
176
+ $scrolls: (auto, smooth);
177
+ @each $scroll in $scrolls {
178
+ /// Poder modificar el tipo de _scroll_ de forma _responsive_
179
+ ///
180
+ /// @example html
181
+ /// <div class="scroll-auto scroll-md-smooth"></div>
182
+ .scroll#{$infix}-#{$scroll} {
183
+ scroll-behavior: #{$scroll};
184
+ }
185
+ }
186
+
187
+ /// Bordes. Bootstrap no define bordes _responsive_
188
+ ///
189
+ /// @link node_modules/bootstrap/scss/utilities/_borders.scss
190
+ /// @example html
191
+ /// <div class="border border-md-top-0"></div>
192
+ .border#{$infix} { border: $border-width solid $border-color !important; }
193
+ .border#{$infix}-0 { border: 0 !important; }
194
+
195
+ @each $direction in $directions {
196
+ .border#{$infix}-#{$direction} { border-#{$direction}: $border-width solid $border-color !important; }
197
+ .border#{$infix}-#{$direction}-0 { border-#{$direction}: 0 !important; }
198
+ }
199
+
200
+ $aligns: (left,center,right);
201
+ @each $align in $aligns {
202
+ /// Alineación _responsive_
203
+ ///
204
+ /// @example html
205
+ /// <div class="text-center text-md-right"></div>
206
+ .text#{$infix}-#{$align} { text-align: $align !important; }
207
+ }
208
+
209
+ @each $position in $positions {
210
+ /// Posicionamiento
211
+ ///
212
+ /// @example html
213
+ /// <div class="position-relative position-md-absolute"></div>
214
+ .position#{$infix}-#{$position} { position: $position !important; }
215
+ }
216
+
217
+ @each $color, $rgb in $colors {
218
+ /// Colores de fondo. Es raro que usemos versiones _responsive_, pero
219
+ /// no está de más tenerlas.
220
+ ///
221
+ /// @link assets/css/styles.scss
222
+ /// @example html
223
+ /// <div class="background-red"></div>
224
+ .background#{$infix}-#{$color} {
225
+ background-color: var(--#{$color});
226
+
227
+ &:focus {
228
+ background-color: var(--#{$color});
229
+ }
230
+ }
231
+
232
+ @each $opacity, $degree in $opacities {
233
+ /// Color de fondo con transparencia (opacidad)
234
+ ///
235
+ /// @example html
236
+ /// <div class="background-red-t2"></div>
237
+ .background#{$infix}-#{$color}-t#{$opacity} {
238
+ background-color: scale-color($rgb, $alpha: $degree);
239
+ }
240
+ }
241
+
242
+ /// Atributos de SVG
243
+ $svg-attributes: (stroke, fill);
244
+ @each $attr in $svg-attributes {
245
+ /// Poder cambiar el relleno o la línea de un SVG
246
+ ///
247
+ /// @example html
248
+ /// <div class="stroke-black fill-red">
249
+ /// <svg/>
250
+ /// </div>
251
+ .#{$attr}#{$infix}-#{$color} {
252
+ svg {
253
+ * {
254
+ #{$attr}: var(--#{$color});
255
+ }
256
+ }
257
+ }
258
+ }
259
+
260
+ /// Barras de _scroll_ de colores
261
+ ///
262
+ /// @example html
263
+ /// <div class="scrollbar-green"></div>
264
+ .scrollbar#{$infix}-#{$color} {
265
+ scrollbar-color: var(--#{$color}) transparent;
266
+ scrollbar-width: thin;
267
+
268
+ &::-webkit-scrollbar {
269
+ width: 5px;
270
+ height: 8px;
271
+ background-color: transparent;
272
+ }
273
+
274
+ &::-webkit-scrollbar-thumb {
275
+ background: var(--#{$color});
276
+ }
277
+ }
278
+
279
+ /// Bordes de color
280
+ ///
281
+ /// @example html
282
+ /// <div class="border-red"></div>
283
+ .border#{$infix}-#{$color} {
284
+ border-color: var(--#{$color}) !important;
285
+ }
286
+
287
+ /// Cambiar el fondo al pasar por encima o hacer foco
288
+ ///
289
+ /// @example html
290
+ /// <div class="background-black background-hover-red"></div>
291
+ .background-hover#{$infix}-#{$color} {
292
+ &:hover,
293
+ &:focus-within {
294
+ background-color: var(--#{$color});
295
+ }
296
+ }
297
+
298
+ /// Cambiar el color al pasar por encima o hacer foco
299
+ ///
300
+ /// @example html
301
+ /// <div class="black hover-red"></div>
302
+ .hover-#{$color} {
303
+ &:hover,
304
+ &:focus-within {
305
+ color: var(--#{$color});
306
+ }
307
+ }
308
+
309
+ /// Cambiar el color, también aplica a la selección de texto.
310
+ ///
311
+ /// @example html
312
+ /// <div class="black hover-red"></div>
313
+ .#{$color} {
314
+ color: var(--#{$color});
315
+
316
+ &:focus {
317
+ color: var(--#{$color});
318
+ }
319
+
320
+ /// Invertir el color en la selección, con el mismo color de fondo y
321
+ /// texto en blanco.
322
+ ::-moz-selection,
323
+ ::selection {
324
+ background: var(--#{$color});
325
+ color: white;
326
+ }
327
+
328
+ /// Si el contenedor tiene un color, también aplica a los bordes de los
329
+ /// elementos de un formulario.
330
+ ///
331
+ /// @todo Evaluar si es realmente necesario hacerlo así, porque no
332
+ /// aplica a las sombras.
333
+ .form-control {
334
+ border-color: var(--#{$color});
335
+ color: var(--#{$color});
336
+ }
337
+
338
+ /// Los `<hr/>` también cambian de color.
339
+ ///
340
+ /// @example html
341
+ /// <div class="red">
342
+ /// <hr/>
343
+ /// </div>
344
+ hr {
345
+ border-color: var(--#{$color});
346
+ }
347
+ }
52
348
  }
53
349
  }
54
350
  }