radios-comunitarias-jekyll-theme 0.3.0rc0 → 0.3.0rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +69 -18
  3. data/_config.yml +85 -0
  4. data/_data/actions.yml +9 -0
  5. data/_data/activity_pub.yml +8 -0
  6. data/_data/components.yml +10 -0
  7. data/_data/en.yml +159 -23
  8. data/_data/es.yml +159 -22
  9. data/_data/full_width_components.yml +2 -0
  10. data/_data/layouts/menu.yml +72 -0
  11. data/_data/layouts/post.yml +11 -11
  12. data/_data/layouts/radio.yml +80 -0
  13. data/_data/layouts/theme.yml +291 -0
  14. data/_data/manifest.json +1340 -0
  15. data/_data/theme.yml +142 -0
  16. data/_includes/activity_pub/actor.html +11 -0
  17. data/_includes/activity_pub/actor_mention.html +28 -0
  18. data/_includes/activity_pub/button.html +22 -0
  19. data/_includes/activity_pub/button_bar.html +16 -0
  20. data/_includes/activity_pub/cards.html +28 -0
  21. data/_includes/activity_pub/fediverse_interactions.html +2 -0
  22. data/_includes/activity_pub/generic_modal.html +55 -0
  23. data/_includes/activity_pub/image_modal.html +27 -0
  24. data/_includes/activity_pub/interactions.html +78 -0
  25. data/_includes/activity_pub/login_modal.html +70 -0
  26. data/_includes/activity_pub/reaction.html +45 -0
  27. data/_includes/activity_pub/reactions.html +17 -0
  28. data/_includes/activity_pub/replying_to.html +23 -0
  29. data/_includes/activity_pub/text_modal.html +16 -0
  30. data/_includes/activity_pub/toot_card.html +95 -0
  31. data/_includes/activity_pub/url.html +8 -0
  32. data/_includes/activity_pub/video_modal.html +20 -0
  33. data/_includes/boolean.html +9 -1
  34. data/_includes/bootstrap/custom_select.html +18 -0
  35. data/_includes/buttons/button.html +9 -0
  36. data/_includes/buttons/copy.html +28 -0
  37. data/_includes/buttons/generic.html +15 -0
  38. data/_includes/buttons/link.html +14 -0
  39. data/_includes/contact.html +6 -8
  40. data/_includes/content.html +9 -1
  41. data/_includes/device_detector.html +30 -0
  42. data/_includes/email.html +9 -1
  43. data/_includes/embed_responsive.html +16 -0
  44. data/_includes/external_link.html +15 -0
  45. data/_includes/fa.html +11 -0
  46. data/_includes/file.html +9 -1
  47. data/_includes/floating_alert.html +6 -0
  48. data/_includes/footer.html +1 -12
  49. data/_includes/headings/generic.html +14 -0
  50. data/_includes/headings/h1.html +9 -0
  51. data/_includes/headings/h2.html +9 -0
  52. data/_includes/headings/h3.html +9 -0
  53. data/_includes/headings/with_link.html +15 -0
  54. data/_includes/image.html +9 -1
  55. data/_includes/input.html +34 -7
  56. data/_includes/item.html +38 -0
  57. data/_includes/logo.html +1 -0
  58. data/_includes/markdown_content.html +9 -1
  59. data/_includes/menu.html +27 -0
  60. data/_includes/navbar.html +5 -1
  61. data/_includes/notification.html +5 -0
  62. data/_includes/number.html +9 -1
  63. data/_includes/pack.html +10 -0
  64. data/_includes/password.html +10 -0
  65. data/_includes/picture.html +25 -0
  66. data/_includes/post.html +18 -7
  67. data/_includes/predefined_array.html +10 -2
  68. data/_includes/preload_font.html +1 -0
  69. data/_includes/reproductor.html +29 -12
  70. data/_includes/script.html +5 -0
  71. data/_includes/search.html +25 -0
  72. data/_includes/share.html +8 -8
  73. data/_includes/share_box.html +41 -12
  74. data/_includes/social_networks.html +6 -0
  75. data/_includes/stretched_link.html +15 -0
  76. data/_includes/string.html +10 -1
  77. data/_includes/submit.html +13 -1
  78. data/_includes/svg/copy-icon.svg +1 -0
  79. data/_includes/svg/done-icon.svg +1 -0
  80. data/_includes/svg/menu.svg +9 -0
  81. data/_includes/svg/x.svg +3 -0
  82. data/_includes/tel.html +9 -1
  83. data/_includes/text.html +9 -1
  84. data/_includes/theme/button_with_copy.html +1 -0
  85. data/_includes/theme/button_with_link.html +5 -0
  86. data/_includes/theme/buttons.html +33 -0
  87. data/_includes/theme/colors.html +14 -0
  88. data/_includes/theme/content.html +41 -0
  89. data/_includes/theme/embed_responsive.html +10 -0
  90. data/_includes/theme/font_sizes.html +18 -0
  91. data/_includes/theme/footer.html +1 -0
  92. data/_includes/theme/letter_spacing.html +3 -0
  93. data/_includes/theme/picture.html +5 -0
  94. data/_includes/toggler/toggler.html +21 -0
  95. data/_includes/toggler/toggler_label.html +21 -0
  96. data/_includes/toggler/toggler_related.html +23 -0
  97. data/_includes/url.html +9 -1
  98. data/_layouts/default.html +50 -22
  99. data/_layouts/home.html +7 -5
  100. data/_layouts/page.html +5 -0
  101. data/_layouts/theme.html +60 -0
  102. data/_sass/accessibility.scss +40 -7
  103. data/_sass/content.scss +28 -0
  104. data/_sass/editor.scss +17 -0
  105. data/_sass/embed.scss +8 -0
  106. data/_sass/floating_alert.scss +48 -0
  107. data/_sass/fonts.scss +29 -0
  108. data/_sass/menu.scss +36 -0
  109. data/_sass/snap.scss +60 -0
  110. data/_sass/toggler.scss +15 -34
  111. data/_sass/utilities.scss +527 -0
  112. data/assets/css/styles.scss +15 -16
  113. data/assets/data/site.json +10 -0
  114. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  115. data/assets/fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2 +0 -0
  116. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1MmgWxP-subset.woff2 +0 -0
  117. data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2 +0 -0
  118. data/assets/fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2 +0 -0
  119. data/assets/fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2 +0 -0
  120. data/assets/js/env.js +8 -0
  121. data/assets/js/pack.L3BFF2IJ.js +40 -0
  122. data/assets/js/pack.L3BFF2IJ.js.map +7 -0
  123. metadata +285 -21
  124. data/_data/forms/contacto.yml +0 -40
  125. data/_sass/helpers.scss +0 -54
  126. data/_sass/share.html +0 -12
  127. data/_sass/share_box.html +0 -16
  128. data/assets/js/script.js +0 -82
@@ -17,12 +17,16 @@
17
17
  entre navegaciones internas. Necesita un ID para funcionar.
18
18
  {% endcomment %}
19
19
  <nav
20
- data-turbolinks-permanent
20
+ data-turbo-permanent
21
21
  id="navbar"
22
22
  class="navbar sticky-top navbar-expand-lg navbar-theme d-print-block row no-gutters justify-content-center pl-0 pr-0"
23
23
  role="navigation"
24
24
  aria-label="{{ site.i18n.menu.title }}">
25
25
 
26
+ <a href="#content" data-turbo="false" class="sr-only sr-only-focusable">
27
+ {{ site.i18n.accessibility.skip_to_content }}
28
+ </a>
29
+
26
30
  {% comment %}
27
31
  Para que la barra se alinee con el contenido, tenemos que darle el
28
32
  mismo ancho.
@@ -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>
@@ -1 +1,9 @@
1
- {% include input.html field=field %}
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>
data/_includes/post.html CHANGED
@@ -5,11 +5,19 @@ ponemos en includes para poder reutilizarlo en la portada.
5
5
  Ya tiene todos los metadatos para schema.org y microformats.org
6
6
  {% endcomment %}
7
7
 
8
+ {% assign license = site.posts | find: "layout", "license" %}
9
+ {%- assign date_format = site.i18n.date.format | default: "%b %-d, %Y" -%}
10
+
8
11
  {% assign page = include.page %}
9
12
 
10
13
  <article class="h-entry mt-5" itemscope itemtype="http://schema.org/Article">
11
14
  <header class="row no-gutters align-items-center mb-3">
12
15
  <div class="p-name col-12 col-lg-9">
16
+
17
+ {% if page.activity.inReplyTo %}
18
+ {% include_cached activity_pub/replying_to.html activity=page.activity.inReplyTo %}
19
+ {% endif %}
20
+
13
21
  <h1 class="p-name" itemprop="name headline">
14
22
  {{ page.title | default: '' | escape }}
15
23
  </h1>
@@ -35,7 +43,6 @@ Ya tiene todos los metadatos para schema.org y microformats.org
35
43
  <time
36
44
  class="dt-published"
37
45
  datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
38
- {%- assign date_format = site.i18n.date | default: "%b %-d, %Y" -%}
39
46
  {{ page.date | date: date_format }}
40
47
  </time>
41
48
  </div>
@@ -47,7 +54,7 @@ Ya tiene todos los metadatos para schema.org y microformats.org
47
54
  se coloca encima.
48
55
  {% endcomment %}
49
56
  <div class="row no-gutters">
50
- <div class="col-12 col-md-6 e-content pt-3 pr-md-3 order-1 order-md-0" itemprop="articleBody">
57
+ <div class="col-12 col-md-6 e-content pt-3 pr-md-3 order-1 order-md-0 content" itemprop="articleBody">
51
58
  {{ page.content }}
52
59
 
53
60
  {% comment %}
@@ -89,25 +96,29 @@ Ya tiene todos los metadatos para schema.org y microformats.org
89
96
  </div>
90
97
  </div>
91
98
 
92
- <footer>
99
+ <footer class="mt-5">
93
100
  <a class="u-url" itemprop="url" href="{{ page.url }}" hidden>
94
- {{ site.url }}/{{ page.url }}
101
+ {{ page.url | absolute_url }}
95
102
  </a>
96
103
 
97
104
  {%- if page.uuid -%}
98
105
  <span hidden itemprop="identifier">{{ page.uuid }}</span>
99
106
  {%- endif -%}
100
107
 
101
- {%- if page.license.url -%}
108
+ {%- if license -%}
102
109
  <p itemprop="license" itemtype="http://schema.org/CreativeWork">
103
- <a rel="license" itemprop="url" href="{{ page.license.url }}">
110
+ <a rel="license" itemprop="url" href="{{ license.url }}">
104
111
  <span itemprop="articleBody">
105
- {{ page.license.description }}
112
+ {{ license.description }}
106
113
  </span>
107
114
  </a>
108
115
  </p>
109
116
  {%- endif -%}
110
117
 
118
+ {% if page.activity %}
119
+ {% include activity_pub/interactions.html activity=page.activity profile=site.actor %}
120
+ {% endif %}
121
+
111
122
  {%- if page.tags %}
112
123
  <span itemprop="keywords" hidden>{{ page.tags | join: ', ' }}</span>
113
124
  {%- for tag in page.tags -%}
@@ -1,3 +1,11 @@
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
+
1
9
  {%- assign name = include.field[0] -%}
2
10
  {%- assign id = include.field[1].id | default: name -%}
3
11
  {%- assign label = include.field[1].label[site.locale] -%}
@@ -22,11 +30,11 @@
22
30
  {% if autocomplete %}
23
31
  autocomplete="{{ autocomplete }}"
24
32
  {% endif %}
25
- class="form-control">
33
+ class="form-control {{ include.array_class }}">
26
34
 
27
35
  <option value="" selected></option>
28
36
 
29
- {%- for option in include.field[1].values -%}
37
+ {%- for option in include.field[1].values[site.locale] -%}
30
38
  <option value="{{ option }}">{{ option }}</option>
31
39
  {%- endfor -%}
32
40
  </select>
@@ -0,0 +1 @@
1
+ <link rel="preload" as="font" type="font/woff2" crossorigin href="{{ include.font }}?{{ site.time | date: '%s' }}" />
@@ -1,4 +1,4 @@
1
- {%- assign radio = site.posts | find: 'layout', 'radio' -%}
1
+ {%- assign radio = site.about -%}
2
2
 
3
3
  {% comment %}
4
4
  https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
@@ -6,15 +6,32 @@ https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
6
6
  Le indicamos al navegador que no empiece a cargar hasta que le damos
7
7
  play porque sino vamos a escuchar la radio con retraso.
8
8
  {% endcomment %}
9
- <audio controls preload="none" class="w-100" id="transmission">
10
- {% for source in radio.streams %}
11
- <source src="{{ source }}" />
12
- {% endfor %}
9
+ {% unless radio.streams == empty %}
10
+ <div
11
+ data-controller="streaming"
12
+ data-action="window@online->streaming#restartIfPlaying"
13
+ data-streaming-sizes-value="192x192"
14
+ data-streaming-title-value="{{ radio.title | escape }}"
15
+ data-streaming-artist-value="{{ radio.artist | escape }}"
16
+ data-streaming-artwork-value="{{ radio.image.path | default: radio.logo.path | thumbnail: 192, 192 | component_escape }}"
17
+ data-streaming-type-value="image/{{ radio.image.path | default: radio.logo.path | extname }}"
18
+ class="w-100">
19
+ <audio
20
+ data-action="ended->streaming#restart"
21
+ data-streaming-target="transmission" controls preload="none" class="w-100">
22
+ {% for source in radio.streams %}
23
+ <source data-streaming-target="source" src="{{ source | component_escape }}" />
24
+ {% endfor %}
13
25
 
14
- <p>
15
- {{ site.i18n.no_audio_support }}
16
- <a href="{{ radio.streams | first }}">
17
- {{ radio.streams | first }}
18
- </a>
19
- </p>
20
- </audio>
26
+ <p>
27
+ {{ site.i18n.no_audio_support }}
28
+ <a
29
+ target="_blank"
30
+ rel="noopener"
31
+ href="{{ radio.streams | first }}">
32
+ {{ radio.streams | first }}
33
+ </a>
34
+ </p>
35
+ </audio>
36
+ </div>
37
+ {% endunless %}
@@ -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>
data/_includes/share.html CHANGED
@@ -1,11 +1,11 @@
1
1
  {% capture url %}{{ site.url }}{{ include.url }}{% endcapture %}
2
2
 
3
3
  {% unless include.share.url == '%url' %}
4
- {% assign url = url | default: '' | cgi_escape %}
4
+ {% assign url = url | default: '' | component_escape %}
5
5
  {% endunless %}
6
- {% assign title = include.title | default: '' | cgi_escape %}
7
- {% assign description = include.description | default: '' | cgi_escape %}
8
- {% assign hashtag = include.categories | first | capitalize | remove: ' ' %}
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
9
 
10
10
  <a
11
11
  {% if include.share.url == '%url' %}
@@ -13,7 +13,7 @@
13
13
  {% else %}
14
14
  target="_blank"
15
15
  {% endif %}
16
- rel="nofollow"
16
+ rel="noopener nofollow noreferrer"
17
17
  title="{{ include.share.title }}"
18
18
  class="d-flex flex-column align-items-center"
19
19
  href="{{
@@ -21,8 +21,8 @@
21
21
  | replace: '%url', url
22
22
  | replace: '%title', title
23
23
  | replace: '%description', description
24
- | replace: '%hashtag', hashtag
24
+ | replace: '%tags', tags
25
25
  }}">
26
- <i class="fa fa-fw fa-{{ include.share.icon }}"></i>
27
- <span class="sr-only">{{ include.share.title }}</span>
26
+ <i class="fa fa-fw fa-{{ include.share.icon }}" aria-hidden="true"></i>
27
+ {{ include.share.title }}
28
28
  </a>
@@ -1,13 +1,42 @@
1
- <div class="d-flex align-items-center justify-content-between mt-3">
2
- {% for share in site.i18n.share.items %}
3
- {%
4
- include_cached
5
- share.html
6
- share=share
7
- url=include.url
8
- title=include.title
9
- description=include.description
10
- categories=include.categories
11
- %}
12
- {% endfor %}
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/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
+ {% capture toggler_related %}
22
+ <span aria-hidden="true">&times;</span>
23
+ <span class="sr-only">{{ site.i18n.close }}</span>
24
+ {% endcapture %}
25
+
26
+ {% capture toggled %}
27
+ <div class="share-box d-flex align-items-center justify-content-center">
28
+ <div class="box background-white color-redpink row no-gutters align-items-center justify-content-center p-3">
29
+ <div class="col-12 text-right">
30
+ {% include_cached toggler/toggler_related.html id=id content=toggler_related %}
31
+ </div>
32
+
33
+ {% for share in site.i18n.share.items %}
34
+ <div class="col-4">
35
+ {% include_cached share.html share=share url=include.url title=include.title description=text tags=include.tags %}
36
+ </div>
37
+ {% endfor %}
38
+ </div>
13
39
  </div>
40
+ {% endcapture %}
41
+
42
+ {%- include_cached toggler/toggler.html id=id extra=extra toggled_content=toggled -%}
@@ -0,0 +1,6 @@
1
+ {% assign social_networks = 'fediverse,facebook,instagram,twitter,youtube,internet_archive' | split: ',' %}
2
+ {% for social_network in social_networks %}
3
+ {% if site.about[social_network] %}
4
+ <link rel="me" href="{{ site.about[social_network] }}" />
5
+ {% endif %}
6
+ {% endfor %}
@@ -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>
@@ -1,3 +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
+
1
9
  {% assign f = field %}
2
10
  {% assign f.type = 'text' %}
3
- {% include input.html field=f %}
11
+
12
+ {% include input.html field=f input_class=include.input_class %}
@@ -1 +1,13 @@
1
- <input type="submit" class="btn btn-success" value="{{ include.field[1].label[site.locale] }}" />
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
+ <input
10
+ {{ include.field[1].extra }}
11
+ type="submit"
12
+ class="btn btn-success {{ include.submit_class }}"
13
+ value="{{ include.field[1].label[site.locale] }}" />
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="18px" viewBox="0 0 24 24" width="18px" fill="#ffffff"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="18px" viewBox="0 0 24 24" width="18px" fill="#ffffff"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>
@@ -0,0 +1,9 @@
1
+ <svg
2
+ class="{{ include.class }}"
3
+ viewBox="0 0 16 14"
4
+ fill="white"
5
+ xmlns="http://www.w3.org/2000/svg">
6
+ <line x1="1" y1="1" x2="15" y2="1" stroke="black" stroke-width="2" stroke-linecap="round"/>
7
+ <line x1="1" y1="6.81836" x2="15" y2="6.81836" stroke="black" stroke-width="2" stroke-linecap="round"/>
8
+ <line x1="1" y1="12.6362" x2="15" y2="12.6362" stroke="black" stroke-width="2" stroke-linecap="round"/>
9
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg class="{{ include.class }}" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0.656874 0.000938353C0.373797 0.0285864 0.132829 0.218575 0.0399914 0.487445C-0.0530995 0.756315 0.0194448 1.05461 0.22516 1.25095L5.15691 6.19413L0.22516 11.1259C-0.0604506 11.4115 -0.0604506 11.8744 0.22516 12.16C0.51077 12.4457 0.973668 12.4457 1.25932 12.16L6.2025 7.21686L11.1342 12.16C11.4199 12.4457 11.8828 12.4457 12.1681 12.16C12.4538 11.8744 12.4538 11.4115 12.1684 11.1259L7.22522 6.19413L12.1684 1.25095C12.3853 1.04143 12.4505 0.719549 12.332 0.442055C12.2133 0.164562 11.9358 -0.0109708 11.6342 0.000951234C11.4458 0.00551695 11.2667 0.0828794 11.1343 0.217061L6.20251 5.14882L1.25933 0.217061C1.12134 0.0773015 0.932629 -0.00057474 0.736551 0.000951234C0.709917 -0.000317078 0.683538 -0.000317078 0.656902 0.000951234L0.656874 0.000938353Z" fill="white"/>
3
+ </svg>
data/_includes/tel.html CHANGED
@@ -1 +1,9 @@
1
- {% include input.html field=field %}
1
+ {%- comment -%}
2
+
3
+ Form: type tel
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 %}
data/_includes/text.html CHANGED
@@ -1,3 +1,11 @@
1
+ {%- comment -%}
2
+
3
+ Form: type text
4
+
5
+ @param :field [Integer] El campo del formulario
6
+ @param :text_class [String] Las clases del componente
7
+ {%- endcomment -%}
8
+
1
9
  {%- assign name = include.field[0] -%}
2
10
  {%- assign id = include.field[1].id | default: name -%}
3
11
  {%- assign label = include.field[1].label[site.locale] -%}
@@ -22,7 +30,7 @@
22
30
  {% if autocomplete %}
23
31
  autocomplete="{{ autocomplete }}"
24
32
  {% endif %}
25
- class="form-control"></textarea>
33
+ class="form-control {{ include.text_class }}"></textarea>
26
34
 
27
35
  {%- if .help -%}
28
36
  <small id="help-{{ id }}" class="form-text">
@@ -0,0 +1 @@
1
+ {% include buttons/copy.html copy="https://sutty.nl" text="Text" %}
@@ -0,0 +1,5 @@
1
+ {% include buttons/link.html href="#" content="Become a subscriber" class="btn-primary" %}
2
+
3
+ {% include headings/with_link.html level=2 text="Botón con link externo" %}
4
+
5
+ {% include buttons/link.html href="https://sutty.nl/" content="Find out more about Sutty" class="btn-primary" %}
@@ -0,0 +1,33 @@
1
+ <div class="content">
2
+ {%- include headings/h2.html text="Botones" -%}
3
+
4
+ {%- include headings/h3.html text="Botón con link" -%}
5
+
6
+ {%- include buttons/link.html href="#" class="btn-primary" content="Click me" -%}
7
+
8
+ {%- include headings/h3.html text="Botón con link externo" -%}
9
+
10
+ {%- include buttons/link.html href="https://sutty.nl/" class="btn-primary" content="Click me" -%}
11
+
12
+ {%- include headings/h3.html text="Botón con atributos extra" -%}
13
+
14
+ {%- assign extra = 'data-extra="Inspeccióname"' -%}
15
+
16
+ <p>Inspeccionar para encontrar el atributo <code>{{ extra }}</code></p>
17
+
18
+ {%- include buttons/link.html href="#" class="btn-primary" content="Click me" extra=extra -%}
19
+
20
+ {%- include headings/h3.html text="Botones de todos los colores" -%}
21
+
22
+ {%- for color in site.data.theme.colors -%}
23
+ {%- assign class = color[0] | replace: "_", "-" | prepend: "btn-" -%}
24
+
25
+ {%- include buttons/link.html href="#" class=class content=class -%}
26
+ {%- endfor -%}
27
+
28
+ {%- include headings/h3.html text="Botón sin link" -%}
29
+
30
+ <p>Los botones <code>&lt;button&gt;</code> se usan para interacciones JavaScript</p>
31
+
32
+ {%- include buttons/button.html class="btn-primary" content="Click me" -%}
33
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="row row-cols-2 row-cols-md-4">
2
+ {% for color in site.data.theme.colors %}
3
+ <div class="col">
4
+ <div class="w-100 embed-responsive embed-responsive-1by1">
5
+ <div class="embed-responsive-item background-{{ color[0] | replace: "_", "-" }} d-flex align-items-center justify-content-center">
6
+ <div>
7
+ <p>{{ color[0] | replace: "_", "-" }}</p>
8
+ <p>{{ color[1] }}</p>
9
+ </div>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ {% endfor %}
14
+ </div>
@@ -0,0 +1,41 @@
1
+ <div class="content">
2
+ <h2>Título 2</h2>
3
+ <h3>Título 3</h3>
4
+ <h4>Título 4</h4>
5
+ <h5>Título 5</h5>
6
+ <h6>Título 6</h6>
7
+
8
+ <p class="display-1">Display 1</p>
9
+ <p class="display-2">Display 2</p>
10
+ <p class="display-3">Display 3</p>
11
+ <p class="display-4">Display 4</p>
12
+
13
+ <p class="lead">Párrafo resaltado</p>
14
+
15
+ <p class="lead-md">
16
+ <strong>Lorem ipsum dolor sit amet</strong>, consectetur adipiscing
17
+ elit, sed do eiusmod tempor incididunt ut labore et dolore magna
18
+ aliqua. <a href="#">Ut enim ad minim veniam</a>, quis nostrud
19
+ exercitation ullamco laboris nisi ut aliquip ex ea commodo
20
+ consequat. <em>Duis aute irure dolor</em> in reprehenderit in
21
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
22
+ Excepteur <mark>sint occaecat cupidatat non proident</mark>, sunt in
23
+ culpa qui officia <small>deserunt mollit anim id est laborum</small>.
24
+ </p>
25
+
26
+ <ul>
27
+ <li>Lorem ipsum dolor sit amet</li>
28
+ <li>consectetur adipiscing elit</li>
29
+ <li>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</li>
30
+ </ul>
31
+
32
+ <ol>
33
+ <li>Lorem ipsum dolor sit amet</li>
34
+ <li>consectetur adipiscing elit</li>
35
+ <li>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</li>
36
+ </ol>
37
+
38
+ <blockquote>
39
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
40
+ </blockquote>
41
+ </div>
@@ -0,0 +1,10 @@
1
+ {% for embed_responsive_aspect_ratio in site.data.theme.embed_responsive_aspect_ratios %}
2
+ {% assign x = embed_responsive_aspect_ratio | split: " " | first | remove: "(" %}
3
+ {% assign y = embed_responsive_aspect_ratio | split: " " | last | remove: ")" %}
4
+ {% assign text = x | append: "by" | append: y %}
5
+
6
+ <div class="mb-3">
7
+ {% include headings/with_link.html level=2 text=text %}
8
+ {% include embed_responsive.html src="public/placeholder.png" width=576 x=x y=y %}
9
+ </div>
10
+ {% endfor %}
@@ -0,0 +1,18 @@
1
+ {% for font_size in site.data.theme.font_sizes %}
2
+ <div class="mb-3">
3
+ {% assign title = "Tipografía f-" | append: font_size[0] %}
4
+ {% include headings/with_link.html level=2 text=title %}
5
+
6
+ <p class="f-{{ font_size[0] }}">
7
+ <strong>Lorem ipsum dolor sit amet</strong>, consectetur
8
+ adipiscing elit, sed do eiusmod tempor incididunt ut labore et
9
+ dolore magna aliqua. <a href="#">Ut enim ad minim veniam</a>, quis
10
+ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
11
+ consequat. <em>Duis aute irure dolor</em> in reprehenderit in
12
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
13
+ Excepteur <mark>sint occaecat cupidatat non proident</mark>, sunt
14
+ in culpa qui officia <small>deserunt mollit anim id est
15
+ laborum</small>.
16
+ </p>
17
+ </div>
18
+ {% endfor %}
@@ -0,0 +1 @@
1
+ {% include footer.html %}
@@ -0,0 +1,3 @@
1
+ {% for letter_spacing in site.data.theme.letter_spacings %}
2
+ <p class="letter-spacing-{{ letter_spacing[0] }}">Letter spacing {{ letter_spacing[0] }}</p>
3
+ {% endfor %}
@@ -0,0 +1,5 @@
1
+ <div class="content">
2
+ <p>Una imagen de 100px</p>
3
+ </div>
4
+
5
+ {% include picture.html src="public/placeholder.png" width=100 %}
@@ -0,0 +1,21 @@
1
+ {% comment %}
2
+ Este elemento colocado en el mismo nivel que un elemento con la clase
3
+ toggled permite ocultarlo o mostrarlo.
4
+
5
+ @see toggler_label.html
6
+ @param :id [String] La ID
7
+ @param :toggled_class [String] Las clases del elemento toggled
8
+ @param :toggled_content [String] El contenido del elemento toggled
9
+ {% endcomment %}
10
+ <input
11
+ type="checkbox"
12
+ class="toggler sr-only"
13
+ data-action="body-scroll#toggle"
14
+ autocomplete="off"
15
+ id="{{ include.id }}"
16
+ name="{{ include.id }}"
17
+ aria-labelledby="{{ include.id }}-label" />
18
+
19
+ <div class="toggled position-absolute {{ include.toggled_class }}">
20
+ {{ include.toggled_content }}
21
+ </div>