observatorio-jekyll-theme 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +168 -0
  3. data/README.md +164 -0
  4. data/_config.yml +112 -0
  5. data/_data/assets.json +4 -0
  6. data/_data/en.yml +106 -0
  7. data/_data/es.yml +131 -0
  8. data/_data/forms/asociate.yml +55 -0
  9. data/_data/forms/contacto.yml +59 -0
  10. data/_data/forms/dona.yml +60 -0
  11. data/_data/forms/newsletter.yml +18 -0
  12. data/_data/forms/shipping_address.yml +94 -0
  13. data/_data/forms/sumate.yml +46 -0
  14. data/_data/forms/user.yml +13 -0
  15. data/_data/layouts/about.yml +112 -0
  16. data/_data/layouts/banner_1.yml +65 -0
  17. data/_data/layouts/banner_2.yml +89 -0
  18. data/_data/layouts/biblioteca.yml +110 -0
  19. data/_data/layouts/cart.yml +222 -0
  20. data/_data/layouts/confirmation.yml +68 -0
  21. data/_data/layouts/contacto.yml +82 -0
  22. data/_data/layouts/email.yml +56 -0
  23. data/_data/layouts/integrante.yml +60 -0
  24. data/_data/layouts/menu.yml +73 -0
  25. data/_data/layouts/payment.yml +126 -0
  26. data/_data/layouts/peticiones.yml +87 -0
  27. data/_data/layouts/post.yml +135 -0
  28. data/_data/layouts/product.yml +142 -0
  29. data/_data/layouts/shipment.yml +126 -0
  30. data/_data/layouts/theme.yml +266 -0
  31. data/_includes/5b0263ea6cfc4dab9f3d3fcec87a8337.webp +0 -0
  32. data/_includes/archive.html +14 -0
  33. data/_includes/archive_layout_about.html +0 -0
  34. data/_includes/archive_layout_articulos.html +14 -0
  35. data/_includes/archive_layout_banner-1.html +0 -0
  36. data/_includes/archive_layout_banner-2.html +0 -0
  37. data/_includes/archive_layout_banner_1.html +0 -0
  38. data/_includes/archive_layout_banner_2.html +0 -0
  39. data/_includes/archive_layout_biblioteca.html +16 -0
  40. data/_includes/archive_layout_contacto.html +0 -0
  41. data/_includes/archive_layout_integrantes.html +26 -0
  42. data/_includes/archive_layout_layout.html +0 -0
  43. data/_includes/archive_layout_menu.html +0 -0
  44. data/_includes/archive_layout_theme.html +0 -0
  45. data/_includes/archive_post.html +0 -0
  46. data/_includes/boolean.html +30 -0
  47. data/_includes/cart_add.html +8 -0
  48. data/_includes/cart_controller.html +11 -0
  49. data/_includes/contact.html +23 -0
  50. data/_includes/content.html +1 -0
  51. data/_includes/country.html +53 -0
  52. data/_includes/device_detector.html +15 -0
  53. data/_includes/donacion.html +125 -0
  54. data/_includes/email.html +1 -0
  55. data/_includes/file.html +35 -0
  56. data/_includes/floating_alert.html +6 -0
  57. data/_includes/footer.html +11 -0
  58. data/_includes/form/boolean.html +1 -0
  59. data/_includes/form/content.html +1 -0
  60. data/_includes/form/email.html +1 -0
  61. data/_includes/form/file.html +1 -0
  62. data/_includes/form/hidden.html +1 -0
  63. data/_includes/form/image.html +1 -0
  64. data/_includes/form/input.html +1 -0
  65. data/_includes/form/markdown_content.html +1 -0
  66. data/_includes/form/number.html +1 -0
  67. data/_includes/form/predefined_array.html +1 -0
  68. data/_includes/form/section.html +1 -0
  69. data/_includes/form/separator.html +1 -0
  70. data/_includes/form/string.html +1 -0
  71. data/_includes/form/submit.html +1 -0
  72. data/_includes/form/tel.html +1 -0
  73. data/_includes/form/text.html +1 -0
  74. data/_includes/form/url.html +1 -0
  75. data/_includes/hidden.html +5 -0
  76. data/_includes/image.html +32 -0
  77. data/_includes/input.html +49 -0
  78. data/_includes/intento%20logo%20b_edited.webp +0 -0
  79. data/_includes/item.html +38 -0
  80. data/_includes/logo.png +0 -0
  81. data/_includes/logo.svg +1560 -0
  82. data/_includes/markdown_content.html +1 -0
  83. data/_includes/matomo.html +15 -0
  84. data/_includes/menu.html +27 -0
  85. data/_includes/navbar.html +32 -0
  86. data/_includes/newsletter.html +10 -0
  87. data/_includes/notification.html +5 -0
  88. data/_includes/number.html +1 -0
  89. data/_includes/pack.html +1 -0
  90. data/_includes/password.html +1 -0
  91. data/_includes/pay_what_you_can_controller.html +13 -0
  92. data/_includes/picture.html +23 -0
  93. data/_includes/post.html +48 -0
  94. data/_includes/postal_code.html +45 -0
  95. data/_includes/predefined_array.html +39 -0
  96. data/_includes/preload_font.html +1 -0
  97. data/_includes/product.html +38 -0
  98. data/_includes/search.html +25 -0
  99. data/_includes/section.html +1 -0
  100. data/_includes/separator.html +1 -0
  101. data/_includes/share.html +22 -0
  102. data/_includes/share_box.html +29 -0
  103. data/_includes/social_networks.html +8 -0
  104. data/_includes/state.html +52 -0
  105. data/_includes/string.html +3 -0
  106. data/_includes/subitem.html +7 -0
  107. data/_includes/submit.html +5 -0
  108. data/_includes/tel.html +1 -0
  109. data/_includes/text.html +32 -0
  110. data/_includes/url.html +1 -0
  111. data/_includes/video.html +7 -0
  112. data/_layouts/about.html +52 -0
  113. data/_layouts/acciones.html +21 -0
  114. data/_layouts/archive.html +5 -0
  115. data/_layouts/asociate.html +20 -0
  116. data/_layouts/biblioteca.html +85 -0
  117. data/_layouts/cart.html +72 -0
  118. data/_layouts/confirmation.html +23 -0
  119. data/_layouts/contacto.html +47 -0
  120. data/_layouts/default.html +72 -0
  121. data/_layouts/dona.html +20 -0
  122. data/_layouts/home.html +142 -0
  123. data/_layouts/integrante.html +26 -0
  124. data/_layouts/layout-categories.html +5 -0
  125. data/_layouts/layout.html +6 -0
  126. data/_layouts/page.html +5 -0
  127. data/_layouts/participa.html +12 -0
  128. data/_layouts/payment.html +21 -0
  129. data/_layouts/peticiones.html +24 -0
  130. data/_layouts/post.html +91 -0
  131. data/_layouts/product.html +110 -0
  132. data/_layouts/shipment.html +52 -0
  133. data/_layouts/sumate.html +20 -0
  134. data/_sass/accessibility.scss +54 -0
  135. data/_sass/content.scss +11 -0
  136. data/_sass/editor.scss +29 -0
  137. data/_sass/embed.scss +13 -0
  138. data/_sass/floating_alert.scss +48 -0
  139. data/_sass/fonts.scss +29 -0
  140. data/_sass/helpers.scss +379 -0
  141. data/_sass/menu.scss +36 -0
  142. data/_sass/share_box.scss +26 -0
  143. data/_sass/slider.scss +29 -0
  144. data/_sass/snap.scss +60 -0
  145. data/_sass/toggler.scss +62 -0
  146. data/assets/css/styles.scss +173 -0
  147. data/assets/data/site.json +10 -0
  148. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  149. data/assets/fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2 +0 -0
  150. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1MmgWxP-subset.woff2 +0 -0
  151. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2 +0 -0
  152. data/assets/fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2 +0 -0
  153. data/assets/fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2 +0 -0
  154. data/assets/js/pack.9dc6883564ec9354c89d.js +114 -0
  155. data/assets/js/pack.9dc6883564ec9354c89d.js.map +1 -0
  156. data/assets/templates/alert.html +9 -0
  157. data/assets/templates/cart.html +67 -0
  158. data/assets/templates/confirmation.html +67 -0
  159. data/assets/templates/payment_methods.html +64 -0
  160. data/assets/templates/recover_order.html +13 -0
  161. data/assets/templates/results.html +53 -0
  162. data/assets/templates/shipping_methods.html +38 -0
  163. metadata +568 -0
@@ -0,0 +1,110 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article
6
+ itemscope itemtype="http://schema.org/Product"
7
+ class="w-100 pb-5 h-entry">
8
+ <div class="m-auto row no-gutters justify-content-center">
9
+ <div class="col-10 col-lg-6">
10
+ <picture>
11
+ <img
12
+ itemprop="image"
13
+ class="img-fluid"
14
+ src="{{ page.image.path | thumbnail: 316 }}"
15
+ alt="{{ page.image.description | default: page.title }}" />
16
+ </picture>
17
+
18
+ <div class="w-lg-50">
19
+ <h4 class="sr-only">{{ site.i18n.libro.ficha }}</h4>
20
+
21
+ <ul class="border-bottom border-tl list-unstyled pt-5 gray-600">
22
+ <li>
23
+ <time
24
+ class="dt-published"
25
+ itemprop="datePublished"
26
+ datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date_local: '%B %Y' }}</time>
27
+ </li>
28
+
29
+ {% if page.width > 0 %}
30
+ <li itemprop="width" itemscope="https://schema.org/QuantitativeValue">
31
+ <span class="font-weight-bold">{{ site.data.layouts.product.width.label[site.lang] }}</span>
32
+ <span itemprop="value">{{ page.width }}</span>
33
+ <span itemprop="unitText">{{ site.cart.length_unit | default: site.data.layouts.cart.length_unit.default[site.lang] }}</span>
34
+ </li>
35
+ {% endif %}
36
+
37
+ {% if page.height > 0 %}
38
+ <li itemprop="height" itemscope="https://schema.org/QuantitativeValue">
39
+ <span class="font-weight-bold">{{ site.data.layouts.product.height.label[site.lang] }}</span>
40
+ <span itemprop="value">{{ page.height }}</span>
41
+ <span itemprop="unitText">{{ site.cart.length_unit | default: site.data.layouts.cart.length_unit.default[site.lang] }}</span>
42
+ </li>
43
+ {% endif %}
44
+
45
+ {% if page.depth > 0 %}
46
+ <li itemprop="depth" itemscope="https://schema.org/QuantitativeValue">
47
+ <span class="font-weight-bold">{{ site.data.layouts.product.depth.label[site.lang] }}</span>
48
+ <span itemprop="value">{{ page.depth }}</span>
49
+ <span itemprop="unitText">{{ site.cart.length_unit | default: site.data.layouts.cart.length_unit.default[site.lang] }}</span>
50
+ </li>
51
+ {% endif %}
52
+
53
+ {% if page.weight > 0 %}
54
+ <li itemprop="weight" itemscope="https://schema.org/QuantitativeValue">
55
+ <span class="font-weight-bold">{{ site.data.layouts.product.weight.label[site.lang] }}</span>
56
+ <span itemprop="value">{{ page.weight }}</span>
57
+ <span itemprop="unitText">{{ site.cart.weight_unit | default: site.data.layouts.cart.weight_unit.default[site.lang] }}</span>
58
+ </li>
59
+ {% endif %}
60
+ </ul>
61
+
62
+ <div itemprop="offers">
63
+ <div
64
+ class="d-flex align-items-center justify-content-between mb-3 ml-1"
65
+ {% include_cached cart_controller.html product=page %}
66
+ itemscope itemtype="https://schema.org/Offer">
67
+
68
+ <meta itemprop="sku" content="{{ page.sku }}" />
69
+ <meta itemprop="acceptedPaymentMethod" content="http://purl.org/goodrelations/v1#PayPal" />
70
+ <meta itemprop="availableDeliveryMethod" content="http://purl.org/goodrelations/v1#Mail" />
71
+
72
+ {% if page.in_stock %}
73
+ <meta itemprop="availability" content="https://schema.org/InStock" />
74
+ {% else %}
75
+ <meta itemprop="availability" content="https://schema.org/OutOfStock" />
76
+ {% endif %}
77
+
78
+ <p>
79
+ <span itemprop="price" data-stock-price>{{ page.price | floor }}</span>
80
+ <span itemprop="priceCurrency" data-stock-currency>{{ site.cart.currency }}</span>
81
+ </p>
82
+
83
+ <button
84
+ data-action="cart#add"
85
+ {{ page.in_stock | value_if: 'disabled' }}
86
+ class="btn btn-primary btn-block">
87
+ <span class="hide-when-disabled">{{ site.cart.add }}</span>
88
+ <span class="show-when-disabled">{{ site.cart.out_of_stock | default: site.data.layouts.cart.out_of_stock.default[site.locale] }}</span>
89
+ </button>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+
95
+ <div class="col-10 col-lg-6 black mt-5 mt-lg-0">
96
+ <header>
97
+ <h1 class="p-name" itemprop="name headline">{{ page.title }}</h1>
98
+ <p class="lead p-summary" itemprop="description">{{ page.description }}</p>
99
+ </header>
100
+
101
+ <div class="font-weight-light gray-600 lead text-md-justify hyphens-md e-content" itemprop="abstract">
102
+ {{ content }}
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
108
+ <a hidden class="u-url" itemprop="url" href="{{ page.url | absolute_url }}">{{ page.url | absolute_url }}</a>
109
+ <meta itemprop="keywords" content="{{ page.categories | join: ',' }}{% unless page.categories == empty %},{% endunless %}{{ page.tags | join: ',' }}"/>
110
+ </article>
@@ -0,0 +1,52 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <section>
6
+ <header>
7
+ <h1>{{ page.title }}</h1>
8
+ </header>
9
+
10
+ <div class="content">
11
+ {{ content }}
12
+ </div>
13
+
14
+ <div id="user" data-controller="cart-contact">
15
+ <h2>{{ page.user }}</h2>
16
+
17
+ <form data-target="cart-contact.form">
18
+ {% for field in site.data.forms.user %}
19
+ {% assign template = field[1].type | append: '.html' %}
20
+ {% include {{ template }} field=field form='user' %}
21
+ {% endfor %}
22
+ </form>
23
+ </div>
24
+
25
+ <div
26
+ id="shipping-address"
27
+ class="mt-3"
28
+ data-controller="cart-shipping"
29
+ data-scroll-to="cart-shipping"
30
+ data-cart-shipping-next="{{ site.payment.url }}"
31
+ data-cart-shipping-template="assets/templates/shipping_methods.html">
32
+
33
+ <h2>{{ page.shipping_address }}</h2>
34
+
35
+ <form
36
+ data-target="cart-shipping.form"
37
+ data-action="cart-shipping#rates">
38
+ {% for field in site.data.forms.shipping_address %}
39
+ {% assign template = field[1].type | append: '.html' %}
40
+ {% include {{ template }} field=field %}
41
+ {% endfor %}
42
+ </form>
43
+
44
+ <div id="cart-shipping">
45
+ <h2 class="mt-3">{{ page.shipping_methods }}</h2>
46
+
47
+ <div data-target="cart-shipping.methods">
48
+ {{ page.shipping_methods_help | markdownify }}
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </section>
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign form = site.data.forms.sumate -%}
6
+
7
+ <section id="participa" class="row justify-content-center no-gutters">
8
+ <div class="col-7 mt-5 mb-5">
9
+ <form id="{{ name }}" class="update-domain" autocomplete="off" data-attr="action" action="https://api.{{ site.hostname }}/v1/sites/{{ site.hostname }}/contact/{{ name }}" method="post">
10
+ <div class="row justify-content-center">
11
+ {%- for field in form -%}
12
+ {% assign template = field[1].type | append: '.html' %}
13
+ <div class="col{{ field[1].col | default: 12 | prepend: '-' }}">
14
+ {% include {{ template }} field=field %}
15
+ </div>
16
+ {%- endfor -%}
17
+ </div>
18
+ </form>
19
+ </div>
20
+ </section>
@@ -0,0 +1,54 @@
1
+ ////
2
+ /// Accesibilidad
3
+ /// @group Accesibilidad
4
+ ////
5
+
6
+ /// La navegación es suave. Esto hace que al navegar a elementos dentro
7
+ /// de la misma página no haga un salto, sino que haya una transición.
8
+ ///
9
+ /// Es especialmente útil en sliders.
10
+ ///
11
+ /// Sin embargo puede producir mareos a algunas personas.
12
+ * { scroll-behavior: smooth; }
13
+
14
+ /// Aquí se aplica la opción `prefers-reduced-motion: reduce`, pero
15
+ /// SassDoc no la estaría mostrando.
16
+ @media (prefers-reduced-motion: reduce) {
17
+ /// Si les usuaries prefirieron reducir las animaciones de los sitios,
18
+ /// deshabilitamos la navegación suavizada y las animaciones.
19
+ * {
20
+ scroll-behavior: auto !important;
21
+ animation: none !important;
22
+ }
23
+ }
24
+
25
+ /// Utilizamos Axe para poder marcarnos cuáles elementos no cumplen con
26
+ /// parámetros de accesibilidad durante el desarrollo. Esta clase
27
+ /// muestra un borde rojo alrededor de los elementos inaccesibles y al
28
+ /// obtener el foco, muestra los mensajes de error generados por Axe.js.
29
+ ///
30
+ /// @link _packs/entry.js
31
+ .inaccesible {
32
+ outline: $red 1px solid;
33
+
34
+ @extend .position-relative;
35
+
36
+ &:focus::after {
37
+ @extend .position-fixed;
38
+ @extend .background-red;
39
+ @extend .white;
40
+ @extend .p-3;
41
+
42
+ left: 0;
43
+ bottom: 0;
44
+ width: 100vw;
45
+ font-size: 1rem;
46
+
47
+ word-wrap: normal;
48
+ line-break: auto;
49
+ white-space: pre-line;
50
+
51
+ /// El contenido se trae desde el ariaLabel del elemento.
52
+ content: attr(aria-label);
53
+ }
54
+ }
@@ -0,0 +1,11 @@
1
+ /// Todos los elementos dentro de .content tienen margen inferior, salvo
2
+ /// el último, para no modificar el padding y margin del contenedor.
3
+ .content {
4
+ & > * {
5
+ margin-bottom: 1rem;
6
+
7
+ &:last-child {
8
+ margin-bottom: 0;
9
+ }
10
+ }
11
+ }
data/_sass/editor.scss ADDED
@@ -0,0 +1,29 @@
1
+ ////
2
+ /// Estilos del editor de Sutty
3
+ /// @group Editor
4
+ ///
5
+
6
+ .content {
7
+ figure,
8
+ video,
9
+ audio,
10
+ img {
11
+ @extend .d-block;
12
+ @extend .img-fluid;
13
+ @extend .text-center;
14
+ @extend .m-auto;
15
+ }
16
+
17
+ /// Alineaciones soportadas. No soportamos justificado porque es
18
+ /// difícil que quede bien en web.
19
+ $aligns: (left,center,right);
20
+
21
+ /// Recorrer las alineaciones.
22
+ /// @name Alineaciones
23
+ @each $align in $aligns {
24
+ /// El editor coloca la alineación en un atributo data-align,
25
+ /// recorriendo cada una de las alineaciones disponibles.
26
+ /// @todo Lograr que SassDoc muestre el código completo.
27
+ div[data-align="#{$align}"] { text-align: $align; }
28
+ }
29
+ }
data/_sass/embed.scss ADDED
@@ -0,0 +1,13 @@
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
9
+ iframe {
10
+ border: 0;
11
+ width: 100%;
12
+ min-height: 30rem;
13
+ }
@@ -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
@@ -0,0 +1,29 @@
1
+ // https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap
2
+ @font-face {
3
+ font-family: 'Roboto';
4
+ font-style: italic;
5
+ font-weight: 400;
6
+ font-display: swap;
7
+ src: url(../fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2) format('woff2');
8
+ }
9
+ @font-face {
10
+ font-family: 'Roboto';
11
+ font-style: italic;
12
+ font-weight: 700;
13
+ font-display: swap;
14
+ src: url(../fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2) format('woff2');
15
+ }
16
+ @font-face {
17
+ font-family: 'Roboto';
18
+ font-style: normal;
19
+ font-weight: 400;
20
+ font-display: swap;
21
+ src: url(../fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2) format('woff2');
22
+ }
23
+ @font-face {
24
+ font-family: 'Roboto';
25
+ font-style: normal;
26
+ font-weight: 700;
27
+ font-display: swap;
28
+ src: url(../fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2) format('woff2');
29
+ }