imagen-jekyll-theme 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +168 -0
  3. data/README.md +176 -0
  4. data/_config.yml +47 -0
  5. data/_data/components.yml +18 -0
  6. data/_data/en.yml +109 -0
  7. data/_data/es.yml +162 -0
  8. data/_data/fixtures/grilla.yml +37 -0
  9. data/_data/forms/subir_imagen.yml +43 -0
  10. data/_data/full_width_components.yml +4 -0
  11. data/_data/layouts/about.yml +155 -0
  12. data/_data/layouts/code_of_conduct.yml +60 -0
  13. data/_data/layouts/imagen.yml +67 -0
  14. data/_data/layouts/license.yml +60 -0
  15. data/_data/layouts/menu.yml +72 -0
  16. data/_data/layouts/post.yml +100 -0
  17. data/_data/layouts/privacy_policy.yml +60 -0
  18. data/_data/layouts/theme.yml +293 -0
  19. data/_data/manifest.json +14535 -0
  20. data/_data/schema.yml +9 -0
  21. data/_data/sutty.yml +6 -0
  22. data/_data/theme.yml +173 -0
  23. data/_includes/boolean.html +38 -0
  24. data/_includes/buttons/button.html +9 -0
  25. data/_includes/buttons/copy.html +28 -0
  26. data/_includes/buttons/generic.html +15 -0
  27. data/_includes/buttons/link.html +14 -0
  28. data/_includes/contact.html +17 -0
  29. data/_includes/content.html +9 -0
  30. data/_includes/descriptor.html +18 -0
  31. data/_includes/device_detector.html +30 -0
  32. data/_includes/email.html +9 -0
  33. data/_includes/embed_responsive.html +16 -0
  34. data/_includes/file.html +43 -0
  35. data/_includes/floating_alert.html +6 -0
  36. data/_includes/footer.html +5 -0
  37. data/_includes/form/boolean.html +1 -0
  38. data/_includes/form/content.html +1 -0
  39. data/_includes/form/email.html +1 -0
  40. data/_includes/form/file.html +1 -0
  41. data/_includes/form/hidden.html +1 -0
  42. data/_includes/form/image.html +1 -0
  43. data/_includes/form/input.html +1 -0
  44. data/_includes/form/markdown_content.html +1 -0
  45. data/_includes/form/number.html +1 -0
  46. data/_includes/form/predefined_array.html +1 -0
  47. data/_includes/form/section.html +1 -0
  48. data/_includes/form/separator.html +1 -0
  49. data/_includes/form/string.html +1 -0
  50. data/_includes/form/submit.html +1 -0
  51. data/_includes/form/tel.html +1 -0
  52. data/_includes/form/text.html +1 -0
  53. data/_includes/form/url.html +1 -0
  54. data/_includes/grilla.html +21 -0
  55. data/_includes/headings/generic.html +14 -0
  56. data/_includes/headings/h1.html +9 -0
  57. data/_includes/headings/h2.html +9 -0
  58. data/_includes/headings/h3.html +9 -0
  59. data/_includes/headings/with_link.html +15 -0
  60. data/_includes/hidden.html +5 -0
  61. data/_includes/image.html +57 -0
  62. data/_includes/imagen.html +13 -0
  63. data/_includes/imagen_enviada.html +6 -0
  64. data/_includes/imagen_enviada_error.html +9 -0
  65. data/_includes/imagen_grilla.html +31 -0
  66. data/_includes/input.html +61 -0
  67. data/_includes/item.html +38 -0
  68. data/_includes/logo.html +12 -0
  69. data/_includes/markdown_content.html +9 -0
  70. data/_includes/menu.html +69 -0
  71. data/_includes/notification.html +5 -0
  72. data/_includes/number.html +9 -0
  73. data/_includes/pack.html +10 -0
  74. data/_includes/password.html +10 -0
  75. data/_includes/picture.html +25 -0
  76. data/_includes/predefined_array.html +47 -0
  77. data/_includes/preload_font.html +1 -0
  78. data/_includes/question_mark_button.html +6 -0
  79. data/_includes/script.html +5 -0
  80. data/_includes/search.html +25 -0
  81. data/_includes/section.html +1 -0
  82. data/_includes/send_message.html +6 -0
  83. data/_includes/separator.html +1 -0
  84. data/_includes/share.html +22 -0
  85. data/_includes/share_box.html +31 -0
  86. data/_includes/stretched_link.html +15 -0
  87. data/_includes/string.html +12 -0
  88. data/_includes/subir_imagen.html +29 -0
  89. data/_includes/submit.html +18 -0
  90. data/_includes/svg/arrow-left.svg +29 -0
  91. data/_includes/svg/check.svg +1 -0
  92. data/_includes/svg/copy-icon.svg +1 -0
  93. data/_includes/svg/done-icon.svg +1 -0
  94. data/_includes/svg/location.svg +13 -0
  95. data/_includes/svg/menu.svg +8 -0
  96. data/_includes/svg/photo.svg +7 -0
  97. data/_includes/svg/signo-pregunta.svg +16 -0
  98. data/_includes/svg/x.svg +3 -0
  99. data/_includes/tel.html +9 -0
  100. data/_includes/text.html +40 -0
  101. data/_includes/theme/blue_button.html +1 -0
  102. data/_includes/theme/button_with_copy.html +1 -0
  103. data/_includes/theme/button_with_link.html +5 -0
  104. data/_includes/theme/buttons.html +33 -0
  105. data/_includes/theme/colors.html +14 -0
  106. data/_includes/theme/content.html +41 -0
  107. data/_includes/theme/descriptor.html +1 -0
  108. data/_includes/theme/embed_responsive.html +10 -0
  109. data/_includes/theme/font_sizes.html +18 -0
  110. data/_includes/theme/footer.html +1 -0
  111. data/_includes/theme/grilla.html +3 -0
  112. data/_includes/theme/imagen.html +8 -0
  113. data/_includes/theme/imagen_enviada.html +5 -0
  114. data/_includes/theme/imagen_enviada_error.html +7 -0
  115. data/_includes/theme/imagen_grilla.html +8 -0
  116. data/_includes/theme/letter_spacing.html +3 -0
  117. data/_includes/theme/menu.html +1 -0
  118. data/_includes/theme/picture.html +5 -0
  119. data/_includes/theme/question.html +2 -0
  120. data/_includes/theme/subir_imagen.html +1 -0
  121. data/_includes/toggler/toggler.html +21 -0
  122. data/_includes/toggler/toggler_label.html +21 -0
  123. data/_includes/toggler/toggler_related.html +23 -0
  124. data/_includes/toggler.html +19 -0
  125. data/_includes/toggler_label.html +22 -0
  126. data/_includes/toggler_related.html +24 -0
  127. data/_includes/url.html +9 -0
  128. data/_layouts/ayuda.html +40 -0
  129. data/_layouts/code_of_conduct.html +45 -0
  130. data/_layouts/default.html +93 -0
  131. data/_layouts/home.html +49 -0
  132. data/_layouts/imagen.html +45 -0
  133. data/_layouts/imagen_enviada.html +17 -0
  134. data/_layouts/imagenes.html +21 -0
  135. data/_layouts/institucional.html +20 -0
  136. data/_layouts/license.html +45 -0
  137. data/_layouts/login.html +26 -0
  138. data/_layouts/page.html +5 -0
  139. data/_layouts/post.html +71 -0
  140. data/_layouts/privacy_policy.html +45 -0
  141. data/_layouts/subir_imagen.html +19 -0
  142. data/_layouts/theme.html +60 -0
  143. data/_sass/accessibility.scss +46 -0
  144. data/_sass/content.scss +28 -0
  145. data/_sass/editor.scss +17 -0
  146. data/_sass/embed.scss +13 -0
  147. data/_sass/floating_alert.scss +48 -0
  148. data/_sass/fonts.scss +36 -0
  149. data/_sass/menu.scss +36 -0
  150. data/_sass/share_box.scss +26 -0
  151. data/_sass/snap.scss +60 -0
  152. data/_sass/toggler.scss +20 -0
  153. data/_sass/utilities.scss +531 -0
  154. data/assets/css/styles.scss +39 -0
  155. data/assets/data/site.json +10 -0
  156. data/assets/fonts/Helvetica.woff2 +0 -0
  157. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  158. data/assets/fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2 +0 -0
  159. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1MmgWxP-subset.woff2 +0 -0
  160. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2 +0 -0
  161. data/assets/fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2 +0 -0
  162. data/assets/fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2 +0 -0
  163. data/assets/js/env.js +8 -0
  164. data/assets/js/pack.5JQIOXYX.js +48 -0
  165. data/assets/js/pack.5JQIOXYX.js.map +7 -0
  166. metadata +544 -0
@@ -0,0 +1,57 @@
1
+ {%- comment -%}
2
+
3
+ Form: type image
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :image_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ {%- assign name = include.field[0] -%}
10
+ {%- assign id = include.field[1].id | default: name -%}
11
+ {%- assign label = include.field[1].label[site.locale] -%}
12
+ {%- assign help = include.field[1].help[site.locale] -%}
13
+ {%- assign placeholder = include.field[1].placeholder[site.locale] -%}
14
+
15
+ <div data-controller="drop" class="text-center">
16
+ <div
17
+ data-action="drop->drop#loadFile dragover->drop#preventDefaultDrag"
18
+ class="custom-file rounded-4 background-input-form align-items-center px-22 px-md-33 h-100 w-140px">
19
+ <div
20
+ class="w-100 justify-content-center position-relative">
21
+ <input
22
+ data-drop-target="input"
23
+ data-action="drop#changePreview"
24
+ {% if help %}
25
+ aria-describedby="help-{{ id }}"
26
+ {% endif %}
27
+ {% if include.field[1].required %}
28
+ required
29
+ {% endif %}
30
+ type="file"
31
+ name="{{ name }}[path]"
32
+ id="{{ id }}"
33
+ accept="image/png,image/jpeg,image/webp"
34
+ class="custom-file-input position-absolute top-0 left-0 cursor-pointer" />
35
+
36
+ <label for="{{ id }}" class="d-block stroke-blue mx-auto align-items-center cursor-pointer pt-12">
37
+ <div class="p-3 d-none" data-drop-target="container">
38
+ <div class="embed-responsive embed-responsive-1by1">
39
+ <img class="embed-responsive-item" src="" data-drop-target="preview" />
40
+ </div>
41
+ </div>
42
+
43
+ {%- include_cached svg/photo.svg -%}
44
+
45
+ <div class="text-center px-38 pb-12 pt-2 blue f-13">
46
+ <p>{{ label }}</p>
47
+ </div>
48
+ </label>
49
+
50
+ {%- if help -%}
51
+ <small id="help-{{ id }}" class="form-text f-13 background-light rounded-2 p-19 my-3 dark">
52
+ {{ help }}
53
+ </small>
54
+ {%- endif -%}
55
+ </div>
56
+ </div>
57
+ </div>
@@ -0,0 +1,13 @@
1
+ <div id="imagen-{{ include.imagen.uuid }}" class="position-relative">
2
+ <div class="embed-responsive embed-responsive-1by1">
3
+ <picture class="embed-responsive-item">
4
+ <img
5
+ class="w-100 h-100 fit-cover"
6
+ src="{{ include.imagen.image.path | thumbnail: 512, 512 | uri_escape }}"
7
+ description="{{ include.imagen.image.description | default: include.imagen.title | escape_once }}"
8
+ />
9
+ </picture>
10
+ </div>
11
+
12
+ <a class="stretched-link" href="{{ include.imagen.url | uri_escape }}"></a>
13
+ </div>
@@ -0,0 +1,6 @@
1
+ <div class="background-gray rounded-4 black {{ include.class }}">
2
+ <div class="d-flex flex-column align-items-center text-center py-5 px-38">
3
+ {{ include.svg }}
4
+ <p class="py-4">{{ include.content }}</p>
5
+ </div>
6
+ </div>
@@ -0,0 +1,9 @@
1
+ <div class="background-gray rounded-4 black {{ include.class }}">
2
+ <div class="d-flex flex-column align-items-center py-5">
3
+ {{ include.svg }}
4
+ <p class="py-4">{{ include.content }}</p>
5
+ </div>
6
+ </div>
7
+ <div class="d-flex align-items-center justify-content-center my-3">
8
+ {% include buttons/link.html href=include.href content=site.i18n.subir_nuevamente class="btn-primary f-20 rounded-5 px-3" %}
9
+ </div>
@@ -0,0 +1,31 @@
1
+ {%- comment -%}
2
+
3
+ Imagen de la grilla con descriptor
4
+
5
+ @param :src [String] La url de la imagen
6
+ @param :alt [String] La descripción de la imagen
7
+ @param :component_class [String] Las clases del componente embed_responsive
8
+ @param :title [String] El título
9
+ @param :author [String] El autor
10
+ @param :href [String] La URL de la imagen
11
+ {%- endcomment -%}
12
+
13
+ <section class="d-flex flex-column p-2 position-relative">
14
+ {%- include_cached stretched_link.html
15
+ href=include.href
16
+ alt=include.alt -%}
17
+
18
+ {%- include_cached embed_responsive.html
19
+ x=1
20
+ y=1
21
+ src=include.src
22
+ alt=include.alt
23
+ width=include.width
24
+ component_class="mb-1" -%}
25
+
26
+ {%- include_cached descriptor.html
27
+ title=include.title
28
+ estudiante=include.estudiante
29
+ title_class="line-clamp-3"
30
+ class="py-10 px-15 rounded-3" -%}
31
+ </section>
@@ -0,0 +1,61 @@
1
+ {%- comment -%}
2
+
3
+ Form: type input
4
+
5
+ @param :form [String] El formulario
6
+ @param :field [Integer] El campo del formulario
7
+ @param :input_class [String] Las clases del componente
8
+ {%- endcomment -%}
9
+
10
+ {% if include.form %}
11
+ {%- assign name = include.field[0] | append: ']' | prepend: '[' | prepend: include.form -%}
12
+ {%- assign id = include.field[1].id | default: name | replace: '[', '_' | remove: ']' -%}
13
+ {% else %}
14
+ {%- assign name = include.field[0] -%}
15
+ {%- assign id = include.field[1].id | default: name %}
16
+ {% endif %}
17
+
18
+ {%- assign label = include.field[1].label[site.locale] -%}
19
+ {%- assign help = include.field[1].help[site.locale] -%}
20
+ {%- assign error = include.field[1].error[site.locale] -%}
21
+ {%- assign autocomplete = include.field[1].autocomplete -%}
22
+ {%- assign placeholder = include.field[1].placeholder[site.locale] -%}
23
+
24
+ <div class="form-group blue">
25
+ {% if include.field[1].label %}
26
+ <label for="{{ id }}" class="f-17 pl-2">
27
+ {{ label }}
28
+ {% if include.field[1].required %}*{% endif %}
29
+ </label>
30
+ {% endif %}
31
+
32
+ <input
33
+ {% if include.field[1].placeholder %}
34
+ placeholder="{{ placeholder }}"
35
+ {% endif %}
36
+ {{ include.field[1].extra.input }}
37
+ {% if help %}
38
+ aria-describedby="help-{{ id }}"
39
+ {% endif %}
40
+ {% if include.field[1].required %}
41
+ required
42
+ {% endif %}
43
+ {{ include.field[1].readonly | value_if: 'readonly' }}
44
+ type="{{ include.field[1].type }}"
45
+ name="{{ name }}"
46
+ id="{{ id }}"
47
+ {% if autocomplete %}
48
+ autocomplete="{{ autocomplete }}"
49
+ {% endif %}
50
+ class="form-control {{ include.input_class }}" />
51
+
52
+ {%- if error -%}
53
+ <div class="invalid-feedback">{{ error }}</div>
54
+ {%- endif -%}
55
+
56
+ {%- if help -%}
57
+ <small id="help-{{ id }}" class="form-text">
58
+ {{ help }}
59
+ </small>
60
+ {%- endif -%}
61
+ </div>
@@ -0,0 +1,38 @@
1
+ {%- comment -%}
2
+ El ítem tiene un dropdown si tiene sub ítems o si tiene categorías.
3
+ {%- endcomment -%}
4
+ {%- assign dropdown = include.item.items | present -%}
5
+ {%- unless dropdown -%}
6
+ {%- assign dropdown = include.item.categories | present -%}
7
+ {%- endunless -%}
8
+
9
+ <div class="nav-item w-100 w-lg-auto {{ dropdown | value_if: 'dropdown d-flex flex-wrap' }}">
10
+ {%- comment -%}
11
+ La URL del item puede ser:
12
+ * El artículo vinculado
13
+ * El vínculo escrito manualmente
14
+ * La primera categoría de la lista
15
+ * La dirección propia (en el caso de categorías)
16
+ {%- endcomment -%}
17
+ <a
18
+ href="{{ include.item.post.url | default: include.item.link | default: include.item.categories[0].url | default: include.item.url }}"
19
+ class="nav-link flex-grow-1 flex-grow-lg-0">
20
+ {{ include.item.title }}
21
+ </a>
22
+
23
+ {%- if dropdown -%}
24
+ <button class="dropdown-toggle border-0 background-white w-5 w-lg-auto pl-lg-3"></button>
25
+ <div class="dropdown-menu w-100 w-lg-auto flex-grow-1 flex-grow-lg-0">
26
+ {% for item in include.item.items %}
27
+ {%- include_cached item.html item=item -%}
28
+ {% endfor %}
29
+
30
+ {%- comment -%}
31
+ Esto necesita `replace` en sutty-archives
32
+ {%- endcomment -%}
33
+ {%- for item in include.item.categories offset: 1 -%}
34
+ {%- include_cached item.html item=item -%}
35
+ {%- endfor -%}
36
+ </div>
37
+ {%- endif -%}
38
+ </div>
@@ -0,0 +1,12 @@
1
+ {% comment%}
2
+
3
+ componente para crear los logos con urls
4
+
5
+ @param url [ Url ]
6
+ @param title [ String ]
7
+ @param src [ Url ]
8
+
9
+ {% endcomment %}
10
+
11
+ {% include stretched_link.html href=include.institucional.url alt=include.institucional.title %}
12
+ {% include picture.html src=include.institucional.src width=150 img_class='w-100' %}
@@ -0,0 +1,9 @@
1
+ {%- comment -%}
2
+
3
+ Form: type markdown_content
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :text_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ {% include text.html field=field text_class=include.text_class %}
@@ -0,0 +1,69 @@
1
+ {%- comment -%}
2
+ Menú
3
+ {%- endcomment -%}
4
+
5
+ {%- assign about = site.posts | find: 'layout', 'about' -%}
6
+ {%- assign items = site.posts | where: 'layout', 'menu' | where: 'item', null -%}
7
+ {%- assign menu_id = page.uuid | prepend: 'm-' -%}
8
+
9
+
10
+ {%- capture menu_svg -%}
11
+ {% include_cached svg/menu.svg %}
12
+ {%- endcapture -%}
13
+
14
+ <nav class="position-relative px-0" data-controller="body-scroll">
15
+ <div class="row no-gutters justify-content-between align-items-center container mx-auto py-3">
16
+ <a class="d-flex" href="/">
17
+ <i class="fa fa-home fa-2x primary" aria-hidden="true"></i>
18
+ </a>
19
+ <div class="col d-flex justify-content-end align-items-center ">
20
+ {%- capture menu_svg -%}
21
+ <div class="stroke-primary">
22
+ {% include_cached svg/menu.svg %}
23
+ </div>
24
+ {%- endcapture -%}
25
+
26
+ <div class="m-2 w-20px">
27
+ {% include_cached toggler_label.html class='fill-black d-block cursor-pointer' id=menu_id content=menu_svg %}
28
+ </div>
29
+ </div>
30
+ </div>
31
+
32
+ {% include_cached toggler.html id=menu_id extra='data-action="body-scroll#toggle"' %}
33
+
34
+ <div class="toggled position-absolute top-0 left-0 w-100 h-100vh pb-5 z-index-modal background-white">
35
+ <div class="container">
36
+ <div class="d-flex align-items-center justify-content-end m-0 mt-4 p-2">
37
+ <div class="d-flex m-0 no-gutters justify-content-center fill-primary">
38
+ {%- capture x_svg -%}
39
+ <div class="w-20px fill-primary">
40
+ {% include_cached svg/x.svg %}
41
+ </div>
42
+ {%- endcapture -%}
43
+ {% include_cached toggler_label.html class='stroke-primary cursor-pointer' id=menu_id content=x_svg %}
44
+ </div>
45
+ </div>
46
+
47
+ <div class="row align-items-center justify-content-center justify-content-md-start mt-5 w-100 text-center no-gutters text-md-left">
48
+ <ul class="p-0">
49
+ {% for item in items %}
50
+ <li class="list-unstyled f-26 text-primary font-weight-bolder">
51
+ {% include_cached item.html item=item class="mb-4 px-3" %}
52
+ </li>
53
+ {% endfor %}
54
+ <li class="list-unstyled f-26 " data-controller="logout">
55
+ {% capture sign_out %}
56
+ <i class="fa fa-2x fa-sign-out primary pr-3" aria-hidden="true"></i>
57
+ <p class="f-26 text-primary font-weight-bolder hover-black">{{ site.i18n.close }}</p>
58
+ {% endcapture %}
59
+ {% include_cached buttons/link.html
60
+ content=sign_out
61
+ class="d-flex flex-row align-items-center justify-content-center justify-content-md-start mb-4 px-3"
62
+ extra='style="all: unset; cursor: pointer;" data-action="logout#logout"'
63
+ %}
64
+ </li>
65
+ </ul>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </nav>
@@ -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,9 @@
1
+ {%- comment -%}
2
+
3
+ Form: type number
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :input_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ {% include input.html field=field input_class=include.input_class %}
@@ -0,0 +1,10 @@
1
+ {%- include_cached script.html src="assets/js/env.js" -%}
2
+ {%- if jekyll.environment == "production" -%}
3
+ {%- for pack in site.data.manifest.outputs -%}
4
+ {%- unless pack[1].entryPoint -%}{%- continue -%}{%- endunless -%}
5
+ {%- assign src = pack[0] -%}
6
+ {%- include_cached script.html src=src -%}
7
+ {%- endfor -%}
8
+ {%- else -%}
9
+ {%- include_cached script.html src="pack.js" -%}
10
+ {%- endif -%}
@@ -0,0 +1,10 @@
1
+ {%- comment -%}
2
+
3
+ Form: type password
4
+
5
+ @param :form [String] El formulario
6
+ @param :field [Integer] El campo del formulario
7
+ @param :input_class [String] Las clases del componente
8
+ {%- endcomment -%}
9
+
10
+ {% include input.html field=include.field form=include.form input_class=include.input_class %}
@@ -0,0 +1,25 @@
1
+ {%- comment -%}
2
+
3
+ Una imagen.
4
+
5
+ @param :src [String] La url de la imagen
6
+ @param :alt [String] La descripción de la imagen
7
+ @param :width [Integer]
8
+ @param :class [String] Las clases del componente picture
9
+ @param :img_class [String] Las clases de la imagen
10
+ {%- endcomment -%}
11
+
12
+ <picture class="{{ include.class }}">
13
+ <source
14
+ srcset="
15
+ {%- for pixel_density in site.data.theme.pixel_densities %}
16
+ {%- assign w = include.width | times: pixel_density -%}
17
+ {{- include.src | thumbnail: w | uri_escape }} {{ pixel_density }}x,
18
+ {% endfor -%}
19
+ " />
20
+
21
+ <img
22
+ class="{{ include.img_class }}"
23
+ src="{{ include.src | thumbnail: include.width | uri_escape }}"
24
+ alt="{{ include.alt | escape_once }}" />
25
+ </picture>
@@ -0,0 +1,47 @@
1
+ {%- comment -%}
2
+
3
+ Form: type predefined_array
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :array_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ {%- assign name = include.field[0] -%}
10
+ {%- assign id = include.field[1].id | default: name -%}
11
+ {%- assign label = include.field[1].label[site.locale] -%}
12
+ {%- assign help = include.field[1].help[site.locale] -%}
13
+ {%- assign autocomplete = include.field[1].autocomplete -%}
14
+
15
+ <div class="form-group">
16
+ <label for="{{ id }}">
17
+ {{ label }}
18
+ {% if include.field[1].required %}*{% endif %}
19
+ </label>
20
+
21
+ <select
22
+ {% if help %}
23
+ aria-describedby="help-{{ id }}"
24
+ {% endif %}
25
+ {% if include.field[1].required %}
26
+ required
27
+ {% endif %}
28
+ name="{{ name }}"
29
+ id="{{ id }}"
30
+ {% if autocomplete %}
31
+ autocomplete="{{ autocomplete }}"
32
+ {% endif %}
33
+ class="form-control {{ include.array_class }}">
34
+
35
+ <option value="" selected></option>
36
+
37
+ {%- for option in include.field[1].values[site.locale] -%}
38
+ <option value="{{ option }}">{{ option }}</option>
39
+ {%- endfor -%}
40
+ </select>
41
+
42
+ {%- if help -%}
43
+ <small id="help-{{ id }}" class="form-text">
44
+ {{ help }}
45
+ </small>
46
+ {%- endif -%}
47
+ </div>
@@ -0,0 +1 @@
1
+ <link rel="preload" as="font" type="font/woff2" crossorigin href="{{ include.font }}?{{ site.time | date: '%s' }}" />
@@ -0,0 +1,6 @@
1
+ {% capture signo_pregunta %}
2
+ {% include svg/signo-pregunta.svg %}
3
+ {% endcapture %}
4
+
5
+ {% include buttons/link.html content=signo_pregunta href=include.href class="p-0 w-35px position-absolute top-2 right-0"%}
6
+
@@ -0,0 +1,5 @@
1
+ {% comment %}
2
+ @param :src [String]
3
+ {% endcomment %}
4
+
5
+ <script defer src="{{ include.src | uri_escape }}" data-turbo-track="reload"></script>
@@ -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,6 @@
1
+ <div class="d-flex align-items-center justify-content-between w-100 mb-4">
2
+ <div class="input-group margin-bottom-sm">
3
+ <input class="form-control" type="text" placeholder="Escribir descripción">
4
+ {% include buttons/button.html content="Enviar" class="bg-primary text-white " %}
5
+ </div>
6
+ </div>
@@ -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: '' | component_escape %}
5
+ {% endunless %}
6
+ {% assign title = include.title | default: '' | component_escape %}
7
+ {% assign description = include.description | default: '' | component_escape %}
8
+ {% assign tags = include.tags | join: ',' | default: '' | component_escape %}
9
+
10
+ <a
11
+ {% if include.share.url == '%url' %}
12
+ download
13
+ {% else %}
14
+ target="_blank"
15
+ {% endif %}
16
+ rel="noopener nofollow noreferrer"
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,31 @@
1
+ {%- assign title = include.title | unescape -%}
2
+ {%- assign text = include.description | strip_html | unescape -%}
3
+ {%- assign url = site.url | append: "/" | append: include.url -%}
4
+ {%- assign id = include.id | default: 'share' -%}
5
+
6
+ {% capture label %}
7
+ {{ site.i18n.share.text }}
8
+ <i class="fa fa-{{ site.i18n.share.icon }}"></i>
9
+ {% endcapture %}
10
+
11
+ {% include_cached toggler_label.html id=id content=label %}
12
+
13
+ {%- capture extra -%}
14
+ data-controller="share"
15
+ data-action="share#share"
16
+ data-share-title-value="{{ title | escape }}"
17
+ data-share-text-value="{{ text | escape }}"
18
+ data-share-url-value="{{ url | escape }}"
19
+ {%- endcapture -%}
20
+
21
+ {%- include_cached toggler.html id=id extra=extra -%}
22
+
23
+ <div class="share-box toggled d-flex align-items-center justify-content-center">
24
+ <div class="box background-white color-redpink row no-gutters align-items-center justify-content-center p-3">
25
+ {% for share in site.i18n.share.items %}
26
+ <div class="col-4">
27
+ {% include_cached share.html share=share url=include.url title=include.title description=text tags=include.tags %}
28
+ </div>
29
+ {% endfor %}
30
+ </div>
31
+ </div>
@@ -0,0 +1,15 @@
1
+ {%- comment -%}
2
+
3
+ Para asignar un enlace a un bloque contenedor.
4
+
5
+ @param :href [String] La URL
6
+ @param :alt [String] La descripción
7
+ {%- endcomment -%}
8
+
9
+ <a
10
+ class="stretched-link black hover-black text-decoration-none"
11
+ href="{{ include.href | uri_escape }}"
12
+ {{ include.href | start_with: "https://" | value_if: 'rel="noopener" target="_blank"' }}
13
+ {{ include.href | start_with: "http://" | value_if: 'rel="noopener" target="_blank"' }}>
14
+ <span class="sr-only">{{ include.alt }}</span>
15
+ </a>
@@ -0,0 +1,12 @@
1
+ {%- comment -%}
2
+
3
+ Form: type string
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :input_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ {% assign f = field %}
10
+ {% assign f.type = 'text' %}
11
+
12
+ {% include input.html field=f input_class=include.input_class %}
@@ -0,0 +1,29 @@
1
+ {% comment %}
2
+ El formulario se envía a la API. La definición del formulario se
3
+ encuentra en _data/forms/subir_imagen.yml
4
+ {% endcomment %}
5
+
6
+ {%- assign imagen_enviada = site.pages | find: 'layout', 'imagen_enviada' -%}
7
+
8
+ <form
9
+ data-turbo="false"
10
+ data-controller="contact autofill-profile"
11
+ data-contact-delay-value="30"
12
+ data-contact-submit-value="{{ include.form.submit.label[site.locale] | escape }}"
13
+ action="https://api.{{ site.hostname }}/v1/sites/{{ site.hostname }}/posts/imagen"
14
+ enctype="multipart/form-data"
15
+ method="post">
16
+ {%- for field in include.form -%}
17
+ {% assign template = field[1].type | append: '.html' %}
18
+ <div class="col{{ field[1].col | default: 12 | prepend: '-' }} px-0">
19
+ {% include {{ template }}
20
+ field=field
21
+ input_class="background-input-form border-0 px-4"
22
+ text_class="background-input-form border-0 h-117px p-4 resize-none"
23
+ submit_class="rounded-4 f-25 px-34" %}
24
+
25
+ </div>
26
+ {%- endfor -%}
27
+
28
+ <input type="hidden" value="{{ imagen_enviada.url | absolute_url }}" name="redirect_to" />
29
+ </form>
@@ -0,0 +1,18 @@
1
+ {%- comment -%}
2
+
3
+ Form: type submit
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :submit_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
9
+ <div class="text-center mt-64">
10
+ <input
11
+ {{ include.field[1].extra }}
12
+ type="submit"
13
+ data-contact-target="submit"
14
+ class="btn btn-primary position-relative {{ include.submit_class }}"
15
+ value="{{ include.field[1].label[site.locale] }}" />
16
+
17
+ {% include question_mark_button.html href="ayuda/" %}
18
+ </div>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ width="24"
4
+ height="24"
5
+ fill="none"
6
+ style="-webkit-print-color-adjust:exact"
7
+ version="1.1"
8
+ viewBox="947 226 24 24"
9
+ id="svg27"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs31" />
14
+ <g
15
+ id="shape-0ac05513-ebf0-8010-8001-d07414f1514f"
16
+ transform="translate(-57 -42)">
17
+ <circle
18
+ style="fill:#155aa8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.93096;stroke-linecap:square;stroke-linejoin:round;paint-order:markers stroke fill"
19
+ id="path366"
20
+ cx="-1015.9839"
21
+ cy="280.01611"
22
+ r="11.983887"
23
+ transform="scale(-1,1)" />
24
+ <path
25
+ id="path18"
26
+ style="fill:#ffffff;stroke-width:0.028"
27
+ d="m 1015.7005,273.01609 c 0.2936,0 0.5882,0.11454 0.8125,0.34375 0.4504,0.46029 0.4504,1.2077 0,1.66797 l -3.7305,3.8125 h 9.0528 c 0.6338,0 1.1484,0.52618 1.1484,1.17578 0,0.6496 -0.5146,1.17578 -1.1484,1.17578 h -9.0528 l 3.7305,3.8125 c 0.4504,0.46026 0.4504,1.20771 0,1.66797 -0.4486,0.45839 -1.1746,0.45839 -1.6231,0 l -5.4765,-5.5957 c -0.5724,-0.585 -0.5724,-1.53613 0,-2.1211 l 5.4765,-5.5957 c 0.2243,-0.22921 0.517,-0.34375 0.8106,-0.34375 z" />
28
+ </g>
29
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns:xlink="http://www.w3.org/1999/xlink" width="89" xmlns="http://www.w3.org/2000/svg" height="64" id="screenshot-af433826-ab75-80b9-8002-01765a96c4e7" viewBox="2611 111 89 64" style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><g id="shape-af433826-ab75-80b9-8002-01765a96c4e7"><g class="fills" id="fills-af433826-ab75-80b9-8002-01765a96c4e7"><path rx="0" ry="0" d="M2698.138,112.875C2700.621,115.374,2700.621,119.434,2698.138,121.933L2647.286,173.125C2644.803,175.625,2640.771,175.625,2638.288,173.125L2612.862,147.529C2610.379,145.030,2610.379,140.970,2612.862,138.471C2615.345,135.971,2619.378,135.971,2621.861,138.471L2642.797,159.527L2689.159,112.875C2691.642,110.375,2695.675,110.375,2698.138,112.875ZZ" style="fill: rgb(21, 90, 168); fill-opacity: 1;"/></g></g></svg>