observatorio-jekyll-theme 0.1.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.
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
+ }