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 @@
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>