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 @@
1
+ {% include text.html field=field %}
@@ -0,0 +1,15 @@
1
+ <!-- Matomo -->
2
+ <script defer type="text/javascript">
3
+ var _paq = _paq || [];
4
+ /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
5
+ _paq.push(['trackPageView']);
6
+ _paq.push(['enableLinkTracking']);
7
+ (function() {
8
+ var u="{{ site.env.MATOMO_URL }}";
9
+ _paq.push(['setTrackerUrl', u+'piwik.php']);
10
+ _paq.push(['setSiteId', '{{ site.env.MATOMO_ID }}']);
11
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
12
+ g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
13
+ })();
14
+ </script>
15
+ <!-- End Matomo Code -->
@@ -0,0 +1,27 @@
1
+ {%- comment -%}
2
+ Empezamos con los ítems que no dependen de otros e implementamos
3
+ recursivamente.
4
+ {%- endcomment -%}
5
+ {%- assign items = site.posts | where: 'layout', 'menu' | where: 'item', nil -%}
6
+
7
+ <nav class="navbar navbar-expand-lg navbar-light">
8
+ <button class="navbar-toggler"
9
+ type="button"
10
+ data-toggle="collapse"
11
+ data-target="#menu"
12
+ aria-label="{{ site.i18n.menu.title }}">
13
+ <span class="navbar-toggler-icon"></span>
14
+ </button>
15
+
16
+ <div class="collapse navbar-collapse" id="menu">
17
+ <div class="navbar-nav w-100 d-flex align-items-start justify-content-center">
18
+ {% for item in items %}
19
+ {%- include_cached item.html item=item -%}
20
+ {% endfor %}
21
+
22
+ <div class="nav-item w-100 w-lg-auto">
23
+ {%- include_cached search.html -%}
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </nav>
@@ -0,0 +1,32 @@
1
+ {%- assign about = site.posts | find: 'layout', 'about' -%}
2
+ {%- for sn in about.social_networks -%}
3
+ {%- if sn contains 'https://chat.whatsapp.com/' -%}
4
+ {%- assign whatsapp = sn -%}
5
+ {%- endif -%}
6
+ {%- endfor -%}
7
+
8
+ <nav class="w-100 d-flex align-items-center justify-content-end flex-wrap pt-1 pt-md-3 pr-2 pr-md-3">
9
+ <div class="flex-grow-md-1 d-flex align-items-center">
10
+ {%- include_cached social_networks.html social_networks=about.social_networks -%}
11
+ </div>
12
+
13
+ {%- if whatsapp -%}
14
+ <a class="btn btn-primary mr-md-3" href="{{ whatsapp }}" target="_blank" rel="noopener">
15
+ {{ site.i18n.whatsapp }}
16
+ </a>
17
+ {%- endif -%}
18
+
19
+ {%- include_cached newsletter.html -%}
20
+ </nav>
21
+
22
+ <header class="d-flex flex-column w-100 align-items-center justify-content-center pt-3 pt-md-5 pb-3 pt-md-5 pl-3 pr-3">
23
+ <div class="max-w-15 mb-2 mb-md-3">
24
+ <a href="?">
25
+ {%- include_cached picture.html image=about.logo default_description=about.title height='auto' cover=false -%}
26
+ </a>
27
+ </div>
28
+
29
+ <h1 class="f-4 text-uppercase text-center">{{ about.title }}</h1>
30
+ </header>
31
+
32
+ {% include menu.html %}
@@ -0,0 +1,10 @@
1
+ <img class="d-none invisible" src="https://api.sutty.nl/v1/sites/{{ site.hostname }}/contact/cookie.png" />
2
+
3
+ <form action="https://api.sutty.nl/v1/sites/{{ site.hostname }}/contact/newsletter"
4
+ method="post"
5
+ class="form-inline">
6
+ {%- for field in site.data.forms.newsletter -%}
7
+ {% assign template = field[1].type | append: '.html' %}
8
+ {% include {{ template }} field=field %}
9
+ {%- endfor -%}
10
+ </form>
@@ -0,0 +1,5 @@
1
+ <div
2
+ data-controller="notification"
3
+ data-notification-templates="assets/templates/"
4
+ class="notification fixed-top w-100 fade collapse hide">
5
+ </div>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1 @@
1
+ <script defer src="{{ jekyll.environment | equals: 'production' | ternary: site.data.assets['assets/js/pack.js'], 'assets/js/pack.js' }}"></script>
@@ -0,0 +1 @@
1
+ {% include input.html field=include.field form=include.form %}
@@ -0,0 +1,13 @@
1
+ data-controller="pay-what-you-can"
2
+ data-pay-what-you-can-download-value="{{ include.product.url | present }}"
3
+ data-pay-what-you-can-url-value="{{ include.url | default: include.product.url }}"
4
+ data-pay-what-you-can-variant-id-value="{{ include.product.variant_id }}"
5
+ data-pay-what-you-can-firstname-value="{{ include.product.title }}"
6
+ data-pay-what-you-can-currency-value="ARS"
7
+ data-pay-what-you-can-price-value="1"
8
+ data-image="{{ include.product.image.path | thumbnail: 300 }}"
9
+ data-title="{{ include.product.title }}"
10
+ data-price="{{ include.product.price }}"
11
+ data-in-stock="{{ include.product.in_stock }}"
12
+ data-stock="{{ include.product.stock }}"
13
+ data-extra="{{ include.extra | join: '|' }}"
@@ -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,48 @@
1
+ {%- assign height = include.height | default: site.i18n.post.height -%}
2
+ {%- assign overlap = include.overlap | default: false -%}
3
+
4
+ <article class="col d-flex flex-column mb-3">
5
+ {%- if include.post.video -%}
6
+ <div class="h-{{ height }}">
7
+ {%- include_cached video.html video=include.post.video class='min-h-100' -%}
8
+ </div>
9
+ {%- else -%}
10
+ <a href="{{ include.post.url }}">
11
+ {%- include_cached picture.html image=include.post.image default_description=include.post.title height=height -%}
12
+ </a>
13
+ {%- endif -%}
14
+
15
+ {% comment %}
16
+ El margen negativo al 100% hace que se solape el div sobre el img.
17
+ {% endcomment %}
18
+ <div class="{% if overlap %}h-{{ height }} mt-n{{ height }} justify-content-end{% endif %} pl-3 pr-3 pb-3 d-flex flex-column">
19
+ <header class="position-relative">
20
+ <h1 class="h4 {{ overlap | value_unless: 'mt-3' }}">
21
+ <a
22
+ class="{{ overlap | ternary: 'white', 'black' }} line-clamp-5"
23
+ href="{{ include.post.url }}">
24
+ <span class="{{ overlap | value_if: 'background-blue-t4' }}">{{ include.post.title }}</span>
25
+ </a>
26
+ </h1>
27
+
28
+ <p class="{{ overlap | value_if: 'background-blue-t4 white d-inline' }}">
29
+ {% comment %}
30
+ El fondo está repetido porque el line-clamp lo deshabilita (?)
31
+ {% endcomment %}
32
+ <span class="line-clamp-1 {{ overlap | value_if: 'background-blue-t4' }}">
33
+ {{ include.post.author | join: ', ' }}
34
+ </span>
35
+
36
+ <time datetime="{{ include.post.date }}">
37
+ {{ include.post.date | date_local: site.i18n.date.format }}
38
+ </time>
39
+ </p>
40
+
41
+ <p>
42
+ {% for category in include.post.categories %}
43
+ <a href="{{ category.url }}" class="badge badge-primary">{{ category.title }}</a>
44
+ {% endfor %}
45
+ </p>
46
+ </header>
47
+ </div>
48
+ </article>
@@ -0,0 +1,45 @@
1
+ {% if include.form %}
2
+ {%- assign name = include.field[0] | append: ']' | prepend: '[' | prepend: include.form -%}
3
+ {%- assign id = include.field[1].id | default: name | replace: '[', '_' | remove: ']' -%}
4
+ {% else %}
5
+ {%- assign name = include.field[0] -%}
6
+ {%- assign id = include.field[1].id | default: name %}
7
+ {% endif %}
8
+
9
+ {%- assign label = include.field[1].label[site.locale] -%}
10
+ {%- assign help = include.field[1].help[site.locale] -%}
11
+ {%- assign error = include.field[1].error[site.locale] -%}
12
+ {%- assign autocomplete = include.field[1].autocomplete -%}
13
+
14
+ <div class="form-group" data-controller="postal-code" data-postal-code-group="{{ include.field[1].group }}">
15
+ <label for="{{ id }}">
16
+ {{ label }}
17
+ {% if include.field[1].required %}*{% endif %}
18
+ </label>
19
+
20
+ <input
21
+ name="{{ name }}"
22
+ id="{{ id }}"
23
+ data-target="postal-code.code"
24
+ {% if help %}
25
+ aria-describedby="help-{{ id }}"
26
+ {% endif %}
27
+ {% if include.field[1].required %}
28
+ required
29
+ {% endif %}
30
+ type="{{ include.field[1].type }}"
31
+ {% if autocomplete %}
32
+ autocomplete="{{ autocomplete }}"
33
+ {% endif %}
34
+ class="form-control" />
35
+
36
+ {%- if error -%}
37
+ <div class="invalid-feedback">{{ error }}</div>
38
+ {%- endif -%}
39
+
40
+ {%- if help -%}
41
+ <small id="help-{{ id }}" class="form-text">
42
+ {{ help }}
43
+ </small>
44
+ {%- endif -%}
45
+ </div>
@@ -0,0 +1,39 @@
1
+ {%- assign name = include.field[0] -%}
2
+ {%- assign id = include.field[1].id | default: name -%}
3
+ {%- assign label = include.field[1].label[site.locale] -%}
4
+ {%- assign help = include.field[1].help[site.locale] -%}
5
+ {%- assign autocomplete = include.field[1].autocomplete -%}
6
+
7
+ <div class="form-group">
8
+ <label for="{{ id }}">
9
+ {{ label }}
10
+ {% if include.field[1].required %}*{% endif %}
11
+ </label>
12
+
13
+ <select
14
+ {% if help %}
15
+ aria-describedby="help-{{ id }}"
16
+ {% endif %}
17
+ {% if include.field[1].required %}
18
+ required
19
+ {% endif %}
20
+ name="{{ name }}"
21
+ id="{{ id }}"
22
+ {% if autocomplete %}
23
+ autocomplete="{{ autocomplete }}"
24
+ {% endif %}
25
+ class="form-control">
26
+
27
+ <option value="" selected></option>
28
+
29
+ {%- for option in include.field[1].values -%}
30
+ <option value="{{ option }}">{{ option }}</option>
31
+ {%- endfor -%}
32
+ </select>
33
+
34
+ {%- if help -%}
35
+ <small id="help-{{ id }}" class="form-text">
36
+ {{ help }}
37
+ </small>
38
+ {%- endif -%}
39
+ </div>
@@ -0,0 +1 @@
1
+ <link rel="preload" as="font" type="font/woff2" crossorigin href="{{ include.font }}?{{ site.time | date: '%s' }}" />
@@ -0,0 +1,38 @@
1
+ <article
2
+ {% if include.product.in_stock %}
3
+ {% include_cached cart_controller.html product=include.product %}
4
+ {% endif %}
5
+ class="d-flex flex-column align-items-center flex-grow-1 {{ include.class }}">
6
+ <div class="d-flex flex-column align-items-center justify-content-between flex-grow-1 position-relative">
7
+ <a href="{{ include.product.url }}">
8
+ <picture>
9
+ <source srcset="{{ include.product.image.path | thumbnail: nil, 370 }}" media="(max-width: 767px)" />
10
+
11
+ <img class="shadow" src="{{ include.product.image.path | thumbnail: nil, 300 }}" loading="lazy" />
12
+ </picture>
13
+ </a>
14
+
15
+ <div class="">
16
+ <div class="flex-fill mt-4 mb-4 black">
17
+ <p class="font-weight-bold m-0 mb-3">
18
+ <a href="{{ include.product.url }}">
19
+ {{ include.product.title }}
20
+ </a>
21
+ </p>
22
+ </div>
23
+
24
+ <p class="font-weight-bold mb-0">
25
+ <span data-stock-price>{{ include.product.price }}</span>
26
+ <span data-stock-currency>{{ site.cart.currency }}</span>
27
+ </p>
28
+
29
+ <button
30
+ class="btn btn-lp text-lowercase p-1 font-weight-bold"
31
+ {% unless include.product.in_stock %}disabled{% endunless %}
32
+ {% include cart_add.html %}>
33
+ <span class="hide-when-disabled">{{ site.cart.add }}</span>
34
+ <span class="show-when-disabled">{{ site.cart.out_of_stock | default: site.data.layouts.cart.out_of_stock.default[site.locale] }}</span>
35
+ </button>
36
+ </div>
37
+ </div>
38
+ </article>
@@ -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-search-target="q"
20
+ autocomplete="off" />
21
+ </div>
22
+ </div>
23
+
24
+ <input class="sr-only" type="submit" value="{{ site.i18n.search.submit }}" />
25
+ </form>
@@ -0,0 +1 @@
1
+ <h2 id="{{ include.field[0] }}">{{ include.field[1].title }}</h2>
@@ -0,0 +1 @@
1
+ <hr/>
@@ -0,0 +1,22 @@
1
+ {% capture url %}{{ site.url }}{{ include.url }}{% endcapture %}
2
+
3
+ {% unless include.share.url == '%url' %}
4
+ {% assign url = url | default: '' | cgi_escape %}
5
+ {% endunless %}
6
+ {% assign title = include.title | default: '' | cgi_escape %}
7
+ {% assign description = include.description | default: '' | cgi_escape %}
8
+ {% assign tags = include.tags | join: ',' | default: '' | cgi_escape %}
9
+
10
+ <a
11
+ {% if include.share.url == '%url' %}
12
+ download
13
+ {% else %}
14
+ target="_blank"
15
+ {% endif %}
16
+ rel="noopener nofollow"
17
+ title="{{ include.share.title }}"
18
+ class="d-flex flex-column align-items-center p-3"
19
+ href="{{ include.share.url | replace: '%url', url | replace: '%title', title | replace: '%description', description | replace: '%tags', tags }}">
20
+ <i class="fa fa-fw fa-2x fa-{{ include.share.icon }}"></i>
21
+ <span>{{ include.share.title }}</span>
22
+ </a>
@@ -0,0 +1,29 @@
1
+ {%- assign title = include.title | escape -%}
2
+ {%- assign text = include.description | strip_html | escape -%}
3
+ {%- assign url = site.url | append: include.url | escape -%}
4
+
5
+ <input
6
+ data-controller="share"
7
+ data-action="share#share"
8
+ data-share-title-value="{{ title }}"
9
+ data-share-text-value="{{ text }}"
10
+ data-share-url-value="{{ url }}"
11
+ type="checkbox"
12
+ id="share"
13
+ class="toggler"
14
+ autocomplete="off" />
15
+
16
+ <label class="share btn border" for="share">
17
+ {{ site.i18n.share.text }}
18
+ <i class="fa fa-{{ site.i18n.share.icon }}"></i>
19
+
20
+ <div class="share-box toggled d-flex align-items-center justify-content-center">
21
+ <div class="box background-white color-redpink row no-gutters align-items-center justify-content-center p-3">
22
+ {% for share in site.i18n.share.items %}
23
+ <div class="col-4">
24
+ {% include_cached share.html share=share url=include.url title=include.title description=include.description %}
25
+ </div>
26
+ {% endfor %}
27
+ </div>
28
+ </div>
29
+ </label>
@@ -0,0 +1,8 @@
1
+ {% for social in include.social_networks %}
2
+ {%- assign network = social | social_network -%}
3
+
4
+ <a href="{{ network.url }}" class="primary p-2">
5
+ <i class="fa fa-fw fa-{{ network.name }}"></i>
6
+ <span class="sr-only">{{ network.name }}</span>
7
+ </a>
8
+ {% endfor %}
@@ -0,0 +1,52 @@
1
+ {% if include.form %}
2
+ {%- assign name = include.field[0] | append: ']' | prepend: '[' | prepend: include.form -%}
3
+ {%- assign id = include.field[1].id | default: name | replace: '[', '_' | remove: ']' -%}
4
+ {% else %}
5
+ {%- assign name = include.field[0] -%}
6
+ {%- assign id = include.field[1].id | default: name %}
7
+ {% endif %}
8
+
9
+ {%- assign label = include.field[1].label[site.locale] -%}
10
+ {%- assign help = include.field[1].help[site.locale] -%}
11
+ {%- assign error = include.field[1].error[site.locale] -%}
12
+ {%- assign autocomplete = include.field[1].autocomplete -%}
13
+
14
+ <div class="form-group" data-controller="state" data-state-group="{{ include.field[1].group }}">
15
+ <label for="{{ id }}">
16
+ {{ label }}
17
+ {% if include.field[1].required %}*{% endif %}
18
+ </label>
19
+
20
+ <input data-target="state.id" type="hidden" name="{{ name }}" id="{{ id }}" value="" />
21
+
22
+ <input
23
+ data-target="state.name"
24
+ {% if help %}
25
+ aria-describedby="help-{{ id }}"
26
+ {% endif %}
27
+ {% if include.field[1].required %}
28
+ required
29
+ {% endif %}
30
+ type="{{ include.field[1].type }}"
31
+ {% if autocomplete %}
32
+ autocomplete="{{ autocomplete }}"
33
+ {% endif %}
34
+ name="{{ include.form }}_ignore_{{ include.field[0] }}"
35
+ id="{{ include.form }}_ignore_{{ include.field[0] }}"
36
+ disabled
37
+ list="list-{{ id }}"
38
+ class="form-control" />
39
+
40
+ {%- if error -%}
41
+ <div class="invalid-feedback">{{ error }}</div>
42
+ {%- endif -%}
43
+
44
+ {%- if help -%}
45
+ <small id="help-{{ id }}" class="form-text">
46
+ {{ help }}
47
+ </small>
48
+ {%- endif -%}
49
+
50
+ <datalist id="list-{{ id }}" data-target="state.list">
51
+ </datalist>
52
+ </div>
@@ -0,0 +1,3 @@
1
+ {% assign f = field %}
2
+ {% assign f.type = 'text' %}
3
+ {% include input.html field=f %}
@@ -0,0 +1,7 @@
1
+ <div class="dropdown-menu">
2
+ {% for sub in include.item.items %}
3
+ <a class="dropdown-item" href="{{ sub.href }}">
4
+ {{ sub.title | markdownify }}
5
+ </a>
6
+ {% endfor %}
7
+ </div>
@@ -0,0 +1,5 @@
1
+ <input
2
+ {{ include.field[1].extra }}
3
+ type="submit"
4
+ class="btn btn-success {{ include.field[1].class }}"
5
+ value="{{ include.field[1].label[site.locale] }}" />
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1,32 @@
1
+ {%- assign name = include.field[0] -%}
2
+ {%- assign id = include.field[1].id | default: name -%}
3
+ {%- assign label = include.field[1].label[site.locale] -%}
4
+ {%- assign help = include.field[1].help[site.locale] -%}
5
+ {%- assign autocomplete = include.field[1].autocomplete -%}
6
+
7
+ <div class="form-group">
8
+ <label for="{{ id }}">
9
+ {{ label }}
10
+ {% if include.field[1].required %}*{% endif %}
11
+ </label>
12
+
13
+ <textarea
14
+ {% if help %}
15
+ aria-describedby="help-{{ id }}"
16
+ {% endif %}
17
+ {% if include.field[1].required %}
18
+ required
19
+ {% endif %}
20
+ name="{{ name }}"
21
+ id="{{ id }}"
22
+ {% if autocomplete %}
23
+ autocomplete="{{ autocomplete }}"
24
+ {% endif %}
25
+ class="form-control"></textarea>
26
+
27
+ {%- if .help -%}
28
+ <small id="help-{{ id }}" class="form-text">
29
+ {{ help }}
30
+ </small>
31
+ {%- endif -%}
32
+ </div>
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -0,0 +1,7 @@
1
+ {%- assign class = include.class | prepend: '<iframe class="' | append: '" ' -%}
2
+
3
+ {{
4
+ include.video
5
+ | embed
6
+ | replace: '<iframe ', class
7
+ }}
@@ -0,0 +1,52 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article class="h-entry row no-gutters justify-content-center" itemscope itemtype="http://schema.org/Article">
6
+ <header class="col-10 col-md-8">
7
+ <h1 class="p-name f-4 f-md-h1" itemprop="name headline">{{ page.title | default: '' | escape }}</h1>
8
+
9
+ {%- if page.description -%}
10
+ <p class="lead p-summary" itemprop="description">{{ page.description | default: '' | escape }}</p>
11
+ {%- endif -%}
12
+
13
+ <p>
14
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
15
+ {%- assign date_format = site.i18n.date.format | default: "%b %-d, %Y" -%}
16
+ {{ page.date | default: site.date | date_local: date_format }}
17
+ </time>
18
+ </p>
19
+
20
+ {%- include share_box.html url=page.url title=page.title description=page.description -%}
21
+ </header>
22
+
23
+ <div class="e-content col-10 col-md-8 content" itemprop="articleBody">
24
+ {{ content | replace: '<img ', '<img loading="lazy" ' | replace: '<iframe ', '<iframe loading="lazy" ' }}
25
+ </div>
26
+
27
+ <footer class="col-10">
28
+ <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
29
+ {{ site.url }}/{{ page.url }}
30
+ </a>
31
+
32
+ {%- if page.uuid -%}
33
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
34
+ {%- endif -%}
35
+
36
+ {%- if page.license.url -%}
37
+ <p itemprop="license" itemtype="http://schema.org/CreativeWork">
38
+ <a rel="license" itemprop="url" href="{{ page.license.url }}">
39
+ <span itemprop="articleBody">
40
+ {{ page.license.description }}
41
+ </span>
42
+ </a>
43
+ </p>
44
+ {%- endif -%}
45
+
46
+ <div hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
47
+ <span class="p-author h-card" itemprop="name">
48
+ {{ page.title }}
49
+ </span>
50
+ </div>
51
+ </footer>
52
+ </article>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <section id="portada" class="background-blue">
6
+ <div class="row p-2 justify-content-center">
7
+ {%- assign entradas = site.posts | where: 'layout', 'acciones' -%}
8
+ {% for i in entradas limit: 6 %}
9
+ <div class="col-3 m-2 p-5 d-flex justify-content-between flex-column" style="background-image: url({{ i.foto.path }}); background-size: cover; background-position: center center;">
10
+ <h3 class="postit"><a href="{{ i.url }}">{{ i.title }}</a></h3>
11
+
12
+ <a href="" class="text-left text-uppercase badge badge-danger rounded-0">{{ i.author }} x {{ i.date | date: "%B %d, %Y" }}</a>
13
+
14
+ <a href="" class="badge badge-light rounded-0 text-uppercase">{{ site.posts.categories }}</a>
15
+ {% for cat in post.categories %}
16
+ <a href="" class="badge badge-light rounded-0 text-uppercase">{{ cat }}</a>
17
+ {% endfor %}
18
+ </div>
19
+ {% endfor %}
20
+ </div>
21
+ </section>
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- include archive.html page=page -%}
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign form = site.data.forms.asociate -%}
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>