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,93 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.lang }}" dir="{{ site.dir }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <base href="{% base %}" />
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
7
+ <meta content="width=device-width, initial-scale=1.0" name="viewport">
8
+ <meta name="theme-color" content="white"/>
9
+ <meta name="color-scheme" content="light"/>
10
+ <meta name="referrer" content="strict-origin-when-cross-origin"/>
11
+ <meta name="robots" content="noindex" />
12
+
13
+ {% comment %}
14
+ No tenemos forma de hashear SASS aún, por lo que renovamos la caché
15
+ aplicando la hora de compilación del sitio. Es importante que los
16
+ CSS se renueven cuando se regenera el sitio, porque pueden contener
17
+ variables dinámicas (como personalización de colores y tipografía) o
18
+ minificarse distinto dependiendo del contenido.
19
+ {% endcomment %}
20
+ <link href="assets/css/styles.css?{{ site.time | date: '%s' }}" rel="stylesheet">
21
+
22
+ {% include_cached pack.html %}
23
+
24
+ {% comment %}
25
+ Agregar otras tipografías. Esto hace que las tipografías se carguen
26
+ lo más rápido posible y minimizar el tiempo en que se ven las del
27
+ navegador. En Firefox todavía no está soportado.
28
+
29
+ Fork Awesome lleva la hora de generación para poder renovarlo si
30
+ agregamos íconos nuevos, de lo contrario puede quedar cacheado para
31
+ siempre y les visitantes van a ver íconos rotos.
32
+ {% endcomment %}
33
+ {% include_cached preload_font.html font='assets/fonts/forkawesome-webfont.woff2' %}
34
+
35
+ <link rel="icon" type="image/svg+xml" href="public/favicon.svg">
36
+ <link rel="alternate icon" href="public/favicon.ico">
37
+ <link rel="mask-icon" href="public/favicon.svg" color="white">
38
+
39
+ {% seo %}
40
+ {% feed_meta %}
41
+
42
+ {% if page.url == '/' %}
43
+ {% for locale in site.locales %}
44
+ <link rel="alternate" hreflang="{{ locale }}" href="../{{ locale }}/" />
45
+ {% endfor %}
46
+
47
+ <link rel="alternate" hreflang="x-default" href="../{{ site.default_locale }}/" />
48
+ {% else %}
49
+ {% for locale in page.locales %}
50
+ <link rel="alternate" hreflang="{{ locale.collection }}" href="../{{ locale.url }}" />
51
+
52
+ {% if locale.collection == site.default_locale %}
53
+ <link rel="alternate" hreflang="x-default" href="../{{ locale.url }}" />
54
+ {% endif %}
55
+ {% endfor %}
56
+
57
+ {% if site.locale == site.default_locale %}
58
+ <link rel="alternate" hreflang="x-default" href="../{{ page.url }}" />
59
+ {% endif %}
60
+ {% endif %}
61
+
62
+ {% for social_network in site.about.social_networks %}
63
+ <link rel="me" href="{{ social_network }}" />
64
+ {% endfor %}
65
+ </head>
66
+ <body>
67
+ <div data-turbo-permanent>
68
+ <a href="#content" data-turbo="false" class="sr-only sr-only-focusable">
69
+ {{ site.i18n.accessibility.skip_to_content }}
70
+ </a>
71
+
72
+ {%- include_cached notification.html -%}
73
+
74
+ {% comment %}
75
+ Esta imagen obtiene una cookie desde la API de Sutty para autorizar el
76
+ envío del formulario.
77
+ {% endcomment %}
78
+ <img class="d-none invisible" src="https://api.{{ site.hostname }}/v1/sites/{{ site.hostname }}/invitades/cookie.png" />
79
+ </div>
80
+
81
+ <main class="position-relative" tabindex="-1" role="main" id="content" data-controller="scroll" data-per-page="100">
82
+ {{ content }}
83
+ </main>
84
+
85
+ {% include_cached floating_alert.html %}
86
+ {% assign theme = site.posts | find: 'layout', 'theme' %}
87
+ {% if theme.testing == true %}
88
+ <div data-turbo-permanent>
89
+ {% include_cached device_detector.html %}
90
+ </div>
91
+ {% endif %}
92
+ </body>
93
+ </html>
@@ -0,0 +1,49 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign form = site.pages | find: 'layout', 'subir_imagen' -%}
6
+
7
+ <div class="row align-items-center justify-content-center h-100vh m-0">
8
+ <div class="col-11 col-md-4 text-center">
9
+ <div class="py-5" data-controller="load-profile">
10
+ <div style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; z-index: -1;" data-load-profile-target="overlay"></div>
11
+ {% include headings/h1.html
12
+ text="IMAGEN"
13
+ class="text-primary font-weight-bold f-34"
14
+ %}
15
+ <div class="f-26 mt-2" data-load-profile-target="name">
16
+ </div>
17
+ </div>
18
+
19
+ {% include buttons/link.html
20
+ href=form.url
21
+ content=site.i18n.upload_image
22
+ class="btn-primary btn-block f-20 rounded-5 my-4"
23
+ %}
24
+ {% include buttons/link.html
25
+ href="imagenes/"
26
+ content=site.i18n.images
27
+ class="btn-primary btn-block f-20 rounded-5 my-4"
28
+ %}
29
+ {% include buttons/link.html
30
+ href="ayuda/"
31
+ content=site.i18n.help
32
+ class="btn-primary btn-block f-20 rounded-5 my-4"
33
+ %}
34
+
35
+ <div data-controller="logout">
36
+ {% capture sign_out %}
37
+ <i class="fa fa-2x fa-sign-out primary pr-2" aria-hidden="true"></i>
38
+ <p class="f-20 text-primary font-weight-bolder hover-black">{{ site.i18n.close }}</p>
39
+ {% endcapture %}
40
+ {% include_cached buttons/link.html
41
+ content=sign_out
42
+ class="d-flex align-items-center justify-content-center mb-4 px-3"
43
+ extra='style="all: unset; cursor: pointer;" data-action="logout#logout"'
44
+ %}
45
+ </div>
46
+ </div>
47
+ </div>
48
+
49
+ {% include_cached footer.html credits= site.i18n.credits %}
@@ -0,0 +1,45 @@
1
+ ---
2
+ layout: 'default'
3
+ ---
4
+
5
+ {% assign year = page.date | date: "%Y" %}
6
+ {%- assign imagen = site.posts | where: 'layout', 'imagen' -%}
7
+
8
+ {%- include_cached menu.html active_cache_key=page.layout %}
9
+
10
+ <div class="row align-items-center justify-content-center no-gutters">
11
+ <div class="col-11 px-2 mb-5">
12
+ <section
13
+ data-controller="non-geographical-map"
14
+ data-non-geographical-map-layer-value="{{ page.image.path | dzsave | escape }}"
15
+ data-non-geographical-map-max-zoom-level-value="{{ page.image.path | max_zoom_level }}"
16
+ data-non-geographical-map-width-value="{{ page.image.path | width }}"
17
+ data-non-geographical-map-height-value="{{ page.image.path | height }}"
18
+ data-non-geographical-map-uuid-value="{{ page.uuid }}"
19
+ data-non-geographical-map-i18n-create-marker-value="{{ site.i18n.create_marker }}"
20
+ data-action="resize@window->non-geographical-map#resize"
21
+ class="w-100 h-100vh p-md-4">
22
+
23
+ <div class="d-flex flex-column align-items-center justify-content-center text-primary">
24
+ <div>
25
+ {% include headings/h1.html text=site.i18n.image.title class="f-24 font-weight-bold" %}
26
+ </div>
27
+ <div>
28
+ <p>{{ site.i18n.image.content }}</p>
29
+ </div>
30
+ </div>
31
+ <div class="position-relative mt-20">
32
+ <aside data-non-geographical-map-target="map" class="w-100 h-50vh"></aside>
33
+ <div data-non-geographical-map-target="addingOverlay"></div>
34
+ </div>
35
+ <div class="py-4">
36
+ {%- include descriptor.html
37
+ title=page.title
38
+ estudiante=page.estudiante
39
+ description=page.image_description
40
+ class="px-3 py-4 rounded-3"
41
+ -%}
42
+ </div>
43
+ </section>
44
+ </div>
45
+ </div>
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% include menu.html %}
6
+
7
+ <section class="w-100">
8
+ <div class="d-flex flex-column align-items-center justify-content-center h-100vh position-relative">
9
+ {% capture svg %}
10
+ {% include svg/check.svg %}
11
+ {% endcapture %}
12
+
13
+ {%- include imagen_enviada.html class="mx-2" content=site.i18n.imagen_enviada svg=svg -%}
14
+
15
+ {%- include buttons/link.html class="btn-primary mt-3" content=site.i18n.home href="?#" -%}
16
+ </div>
17
+ </section>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign imagenes = site.posts | where: 'layout', 'imagen' -%}
6
+
7
+ {% include menu.html %}
8
+
9
+ <div class="row align-items-center justify-content-center no-gutters">
10
+ <div class="col-11 col-md-4 mb-5">
11
+ <section class="px-34 mb-15">
12
+ {%- include_cached headings/h1.html text=site.i18n.imagenes_actividad class="font-weight-bold text-center f-25 pb-2" -%}
13
+
14
+ <p class="">{{ site.i18n.descripcion_imagenes_actividad }}</p>
15
+ </section>
16
+
17
+ {%- include grilla.html
18
+ imagenes=imagenes
19
+ -%}
20
+ </div>
21
+ </div>
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% include menu.html %}
6
+
7
+ <div class="row align-items-center justify-content-center no-gutters">
8
+ <div class="col-11 col-md-4 px-34 mb-5">
9
+ <div class="d-flex align-items-center justify-content-center my-4">
10
+ {% include headings/h2.html text=site.i18n.institucional.title %}
11
+ </div>
12
+ <div class="row row-cols-2 m-0 no-gutters align-items-center justify-content-center">
13
+ {% for institucional in site.i18n.institucional.items %}
14
+ <div class="col p-4 p-md-5">
15
+ {% include logo.html institucional=institucional %}
16
+ </div>
17
+ {% endfor %}
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,45 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% assign date_format = site.i18n.date.format | default: "%b %-d, %Y" %}
6
+
7
+ <article class="h-entry" itemscope itemtype="http://schema.org/Article">
8
+ <header>
9
+ <h1 class="p-name" itemprop="name headline">{{ page.title | default: '' | escape }}</h1>
10
+
11
+ {%- if page.description -%}
12
+ <p class="lead p-summary" itemprop="description">{{ page.description | default: '' | escape }}</p>
13
+ {%- endif -%}
14
+
15
+ <p>
16
+ {{ site.i18n.published_at }}
17
+
18
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
19
+ {{ page.date | date_local: date_format }}
20
+ </time>
21
+
22
+ {% if page.last_modified_at %}
23
+ {{ site.i18n.last_modified_at }}
24
+
25
+ <time class="dt-published" datetime="{{ page.last_modified_at | date_to_xmlschema }}" itemprop="datePublished">
26
+ {{ page.last_modified_at | date_local: date_format }}
27
+ </time>
28
+ {% endif %}
29
+ </p>
30
+ </header>
31
+
32
+ <div class="e-content" itemprop="articleBody">
33
+ {{ content }}
34
+ </div>
35
+
36
+ <footer>
37
+ <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
38
+ {{ site.url }}{{ page.url }}
39
+ </a>
40
+
41
+ {%- if page.uuid -%}
42
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
43
+ {%- endif -%}
44
+ </footer>
45
+ </article>
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="row align-items-center justify-content-center h-100vh m-0">
6
+ <div class="col-11 col-md-4 text-center" data-controller="login">
7
+ <div class="py-5">
8
+ {% include headings/h1.html
9
+ text="IMAGEN"
10
+ class="text-primary font-weight-bold f-34"
11
+ %}
12
+ </div>
13
+
14
+ {% include buttons/button.html
15
+ content=site.i18n.iniciar_sesion.title
16
+ class="btn-primary btn-block f-20 rounded-5 my-4"
17
+ extra=" data-action='login#loginGoogle'"
18
+ %}
19
+ <div class="text-black my-3">
20
+ {{ site.i18n.iniciar_sesion.requerido }}
21
+ </div>
22
+ </div>
23
+
24
+ </div>
25
+
26
+ {% include_cached footer.html credits= site.i18n.credits %}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,71 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% assign license = site.posts | find: "layout", "license" %}
6
+ {%- assign date_format = site.i18n.date.format | default: "%b %-d, %Y" -%}
7
+
8
+ <article class="h-entry" itemscope itemtype="http://schema.org/Article">
9
+ <header>
10
+ <h1 class="p-name" itemprop="name headline">{{ page.title | default: '' | escape }}</h1>
11
+
12
+ {%- if page.description -%}
13
+ <p class="lead p-summary" itemprop="description">{{ page.description | default: '' | escape }}</p>
14
+ {%- endif -%}
15
+
16
+ {%- if page.image.path -%}
17
+ <picture>
18
+ {% for size in site.images.sizes %}
19
+ <source srcset="{{ page.image.path | thumbnail: size }}" media="(max-width: {{ size }}px)" />
20
+ {% endfor %}
21
+
22
+ <img class="img-fluid" src="{{ page.image.path | thumbnail: 1140 }}" alt="{{ page.image.description }}" />
23
+ </picture>
24
+ {%- endif -%}
25
+
26
+ <p>
27
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
28
+ {{ page.date | date_local: date_format }}
29
+ </time>
30
+ {%- for author in page.author -%}
31
+
32
+ <span itemprop="author" itemscope itemtype="http://schema.org/Person">
33
+ <span class="p-author h-card" itemprop="name">
34
+ {{ author | default: '' | escape }}
35
+ </span>
36
+ </span>
37
+ {%- endfor -%}
38
+ </p>
39
+ </header>
40
+
41
+ <div class="e-content" itemprop="articleBody">
42
+ {{ content }}
43
+ </div>
44
+
45
+ <footer>
46
+ <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
47
+ {{ site.url }}{{ page.url }}
48
+ </a>
49
+
50
+ {%- if page.uuid -%}
51
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
52
+ {%- endif -%}
53
+
54
+ {%- if license -%}
55
+ <p itemprop="license" itemtype="http://schema.org/CreativeWork">
56
+ <a rel="license" itemprop="url" href="{{ license.url }}">
57
+ <span itemprop="articleBody">
58
+ {{ license.description }}
59
+ </span>
60
+ </a>
61
+ </p>
62
+ {%- endif -%}
63
+
64
+ {%- if page.tags %}
65
+ <span itemprop="keywords" hidden>{{ page.tags | join: ', ' }}</span>
66
+ {%- for tag in page.tags -%}
67
+ <span hidden class="h-category">{{ tag }}</span>
68
+ {%- endfor -%}
69
+ {%- endif -%}
70
+ </footer>
71
+ </article>
@@ -0,0 +1,45 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% assign date_format = site.i18n.date.format | default: "%b %-d, %Y" %}
6
+
7
+ <article class="h-entry" itemscope itemtype="http://schema.org/Article">
8
+ <header>
9
+ <h1 class="p-name" itemprop="name headline">{{ page.title | default: '' | escape }}</h1>
10
+
11
+ {%- if page.description -%}
12
+ <p class="lead p-summary" itemprop="description">{{ page.description | default: '' | escape }}</p>
13
+ {%- endif -%}
14
+
15
+ <p>
16
+ {{ site.i18n.published_at }}
17
+
18
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
19
+ {{ page.date | date_local: date_format }}
20
+ </time>
21
+
22
+ {% if page.last_modified_at %}
23
+ {{ site.i18n.last_modified_at }}
24
+
25
+ <time class="dt-published" datetime="{{ page.last_modified_at | date_to_xmlschema }}" itemprop="datePublished">
26
+ {{ page.last_modified_at | date_local: date_format }}
27
+ </time>
28
+ {% endif %}
29
+ </p>
30
+ </header>
31
+
32
+ <div class="e-content" itemprop="articleBody">
33
+ {{ content }}
34
+ </div>
35
+
36
+ <footer>
37
+ <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
38
+ {{ site.url }}{{ page.url }}
39
+ </a>
40
+
41
+ {%- if page.uuid -%}
42
+ <span hidden itemprop="identifier">{{ page.uuid }}</span>
43
+ {%- endif -%}
44
+ </footer>
45
+ </article>
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% include menu.html %}
6
+
7
+ <div class="row align-items-center justify-content-center no-gutters">
8
+ <div class="col-11 col-md-4 px-34 mb-5">
9
+ <section>
10
+ {%- include_cached headings/h1.html text=site.i18n.subir_imagen class="font-weight-bold text-center f-25 pb-2" -%}
11
+
12
+ <p class="">{{ site.i18n.descripcion_subir_imagen }}</p>
13
+ </section>
14
+
15
+ <section class="mt-26">
16
+ {%- include subir_imagen.html form=site.data.forms.subir_imagen -%}
17
+ </section>
18
+ </div>
19
+ </div>
@@ -0,0 +1,60 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% capture components %}
6
+ {% for component in site.data.components %}
7
+ {% assign component_include = "theme/" | append: component | append: ".html" %}
8
+ {% assign title = component | replace: "_", " " | capitalize %}
9
+
10
+ <section id="{{ component | replace: "_", "-" }}" class="mb-5">
11
+ <header>
12
+ {% include headings/with_link.html level=1 text=title %}
13
+ </header>
14
+
15
+ {% include {{ component_include }} %}
16
+ </section>
17
+ {% endfor %}
18
+ {% endcapture %}
19
+
20
+ {% capture full_width_components %}
21
+ {% for component in site.data.full_width_components %}
22
+ {% assign component_include = "theme/" | append: component | append: ".html" %}
23
+ {% assign title = component | replace: "_", " " | capitalize %}
24
+
25
+ <section id="{{ component | replace: "_", "-" }}" class="mb-5">
26
+ <header>
27
+ {% include headings/with_link.html level=1 text=title %}
28
+ </header>
29
+
30
+ {% include {{ component_include }} %}
31
+ </section>
32
+ {% endfor %}
33
+ {% endcapture %}
34
+
35
+ <div class="container-fluid">
36
+ <div class="row">
37
+ <aside class="col-12 col-md-3">
38
+ <ol class="list-unstyled">
39
+ {%- assign toc_full_width = full_width_components | table_of_contents: 1 -%}
40
+ {%- assign toc = components | table_of_contents: 1 | concat: toc_full_width -%}
41
+
42
+ {% for item in toc %}
43
+ <li>
44
+ <a href="#{{ item.id }}" data-turbo="false">
45
+ {{- item.title -}}
46
+ </a>
47
+ </li>
48
+ {% endfor %}
49
+ </ol>
50
+ </aside>
51
+
52
+ <section class="col-12 col-md">
53
+ {{ components }}
54
+ </section>
55
+ </div>
56
+ </div>
57
+
58
+ <section class="w-100">
59
+ {{ full_width_components }}
60
+ </section>
@@ -0,0 +1,46 @@
1
+ ////
2
+ /// Accesibilidad
3
+ /// @group Accesibilidad
4
+ ////
5
+
6
+ /// Aquí se aplica la opción `prefers-reduced-motion: reduce`, pero
7
+ /// SassDoc no la estaría mostrando.
8
+ @media (prefers-reduced-motion: reduce) {
9
+ /// Si les usuaries prefirieron reducir las animaciones de los sitios,
10
+ /// deshabilitamos la navegación suavizada y las animaciones.
11
+ * {
12
+ scroll-behavior: auto !important;
13
+ animation: none !important;
14
+ }
15
+ }
16
+
17
+ /// Utilizamos Axe para poder marcarnos cuáles elementos no cumplen con
18
+ /// parámetros de accesibilidad durante el desarrollo. Esta clase
19
+ /// muestra un borde rojo alrededor de los elementos inaccesibles y al
20
+ /// obtener el foco, muestra los mensajes de error generados por Axe.js.
21
+ ///
22
+ /// @link _packs/entry.js
23
+ .inaccesible {
24
+ outline: $red 1px solid;
25
+
26
+ @extend .position-relative;
27
+
28
+ &:focus::after {
29
+ @extend .position-fixed;
30
+ @extend .background-red;
31
+ @extend .white;
32
+ @extend .p-3;
33
+
34
+ left: 0;
35
+ bottom: 0;
36
+ width: 100vw;
37
+ font-size: 1rem;
38
+
39
+ word-wrap: normal;
40
+ line-break: auto;
41
+ white-space: pre-line;
42
+
43
+ /// El contenido se trae desde el ariaLabel del elemento.
44
+ content: attr(aria-label);
45
+ }
46
+ }
@@ -0,0 +1,28 @@
1
+ .content {
2
+ p { min-height: $font-size-base * $line-height-base; }
3
+ h1 { min-height: $h1-font-size * $headings-line-height; }
4
+ h2 { min-height: $h2-font-size * $headings-line-height; }
5
+ h3 { min-height: $h3-font-size * $headings-line-height; }
6
+ h4 { min-height: $h4-font-size * $headings-line-height; }
7
+ h5 { min-height: $h5-font-size * $headings-line-height; }
8
+ h6 { min-height: $h6-font-size * $headings-line-height; }
9
+
10
+ iframe { border: 0; }
11
+
12
+ audio { width: 100%; }
13
+
14
+ img,
15
+ video,
16
+ iframe {
17
+ @extend .img-fluid;
18
+ height: auto;
19
+ }
20
+
21
+ & > * {
22
+ margin-bottom: 1rem;
23
+
24
+ &:last-child {
25
+ margin-bottom: 0;
26
+ }
27
+ }
28
+ }
data/_sass/editor.scss ADDED
@@ -0,0 +1,17 @@
1
+ ////
2
+ /// Estilos del editor de Sutty
3
+ /// @group Editor
4
+ ///
5
+
6
+ /// Alineaciones soportadas. No soportamos justificado porque es
7
+ /// difícil que quede bien en web.
8
+ $aligns: (left,center,right);
9
+
10
+ /// Recorrer las alineaciones.
11
+ /// @name Alineaciones
12
+ @each $align in $aligns {
13
+ /// El editor coloca la alineación en un atributo data-align,
14
+ /// recorriendo cada una de las alineaciones disponibles.
15
+ /// @todo Lograr que SassDoc muestre el código completo.
16
+ div[data-align="#{$align}"] { text-align: $align; }
17
+ }
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: 480px;
13
+ }