radios-comunitarias-jekyll-theme 0.2.0 → 0.3.0rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +69 -18
- data/_config.yml +85 -0
- data/_data/actions.yml +9 -0
- data/_data/activity_pub.yml +8 -0
- data/_data/components.yml +10 -0
- data/_data/en.yml +159 -22
- data/_data/es.yml +159 -21
- data/_data/full_width_components.yml +2 -0
- data/_data/layouts/menu.yml +72 -0
- data/_data/layouts/post.yml +48 -25
- data/_data/layouts/radio.yml +80 -0
- data/_data/layouts/theme.yml +291 -0
- data/_data/manifest.json +1340 -0
- data/_data/theme.yml +142 -0
- data/_includes/activity_pub/actor.html +11 -0
- data/_includes/activity_pub/actor_mention.html +28 -0
- data/_includes/activity_pub/button.html +22 -0
- data/_includes/activity_pub/button_bar.html +16 -0
- data/_includes/activity_pub/cards.html +28 -0
- data/_includes/activity_pub/fediverse_interactions.html +2 -0
- data/_includes/activity_pub/generic_modal.html +55 -0
- data/_includes/activity_pub/image_modal.html +27 -0
- data/_includes/activity_pub/interactions.html +78 -0
- data/_includes/activity_pub/login_modal.html +70 -0
- data/_includes/activity_pub/reaction.html +45 -0
- data/_includes/activity_pub/reactions.html +17 -0
- data/_includes/activity_pub/replying_to.html +23 -0
- data/_includes/activity_pub/text_modal.html +16 -0
- data/_includes/activity_pub/toot_card.html +95 -0
- data/_includes/activity_pub/url.html +8 -0
- data/_includes/activity_pub/video_modal.html +20 -0
- data/_includes/boolean.html +9 -1
- data/_includes/bootstrap/custom_select.html +18 -0
- data/_includes/buttons/button.html +9 -0
- data/_includes/buttons/copy.html +28 -0
- data/_includes/buttons/generic.html +15 -0
- data/_includes/buttons/link.html +14 -0
- data/_includes/contact.html +6 -8
- data/_includes/content.html +9 -1
- data/_includes/device_detector.html +30 -0
- data/_includes/email.html +9 -1
- data/_includes/embed_responsive.html +16 -0
- data/_includes/external_link.html +15 -0
- data/_includes/fa.html +11 -0
- data/_includes/file.html +9 -1
- data/_includes/floating_alert.html +6 -0
- data/_includes/footer.html +1 -1
- data/_includes/headings/generic.html +14 -0
- data/_includes/headings/h1.html +9 -0
- data/_includes/headings/h2.html +9 -0
- data/_includes/headings/h3.html +9 -0
- data/_includes/headings/with_link.html +15 -0
- data/_includes/image.html +9 -1
- data/_includes/input.html +34 -7
- data/_includes/item.html +38 -0
- data/_includes/logo.html +1 -0
- data/_includes/markdown_content.html +9 -1
- data/_includes/menu.html +27 -0
- data/_includes/navbar.html +5 -1
- data/_includes/notification.html +5 -0
- data/_includes/number.html +9 -1
- data/_includes/pack.html +10 -0
- data/_includes/password.html +10 -0
- data/_includes/picture.html +25 -0
- data/_includes/post.html +18 -7
- data/_includes/predefined_array.html +10 -2
- data/_includes/preload_font.html +1 -0
- data/_includes/reproductor.html +29 -12
- data/_includes/script.html +5 -0
- data/_includes/search.html +25 -0
- data/_includes/share.html +8 -8
- data/_includes/share_box.html +41 -12
- data/_includes/social_networks.html +6 -0
- data/_includes/stretched_link.html +15 -0
- data/_includes/string.html +10 -1
- data/_includes/submit.html +13 -1
- data/_includes/svg/copy-icon.svg +1 -0
- data/_includes/svg/done-icon.svg +1 -0
- data/_includes/svg/menu.svg +9 -0
- data/_includes/svg/x.svg +3 -0
- data/_includes/tel.html +9 -1
- data/_includes/text.html +9 -1
- data/_includes/theme/button_with_copy.html +1 -0
- data/_includes/theme/button_with_link.html +5 -0
- data/_includes/theme/buttons.html +33 -0
- data/_includes/theme/colors.html +14 -0
- data/_includes/theme/content.html +41 -0
- data/_includes/theme/embed_responsive.html +10 -0
- data/_includes/theme/font_sizes.html +18 -0
- data/_includes/theme/footer.html +1 -0
- data/_includes/theme/letter_spacing.html +3 -0
- data/_includes/theme/picture.html +5 -0
- data/_includes/toggler/toggler.html +21 -0
- data/_includes/toggler/toggler_label.html +21 -0
- data/_includes/toggler/toggler_related.html +23 -0
- data/_includes/url.html +9 -1
- data/_layouts/default.html +56 -16
- data/_layouts/home.html +7 -5
- data/_layouts/page.html +5 -0
- data/_layouts/theme.html +60 -0
- data/_sass/accessibility.scss +40 -7
- data/_sass/content.scss +28 -0
- data/_sass/editor.scss +17 -0
- data/_sass/embed.scss +8 -0
- data/_sass/floating_alert.scss +48 -0
- data/_sass/fonts.scss +29 -0
- data/_sass/menu.scss +36 -0
- data/_sass/snap.scss +60 -0
- data/_sass/toggler.scss +15 -34
- data/_sass/utilities.scss +527 -0
- data/assets/css/styles.scss +16 -13
- data/assets/data/site.json +10 -0
- data/assets/fonts/forkawesome-webfont.woff2 +0 -0
- data/assets/fonts/roboto/v27/KFOjCnqEu92Fr1Mu51TzBhc9-subset.woff2 +0 -0
- data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1MmgWxP-subset.woff2 +0 -0
- data/assets/fonts/roboto/v27/KFOkCnqEu92Fr1Mu52xP-subset.woff2 +0 -0
- data/assets/fonts/roboto/v27/KFOlCnqEu92Fr1MmWUlvAw-subset.woff2 +0 -0
- data/assets/fonts/roboto/v27/KFOmCnqEu92Fr1Me5Q-subset.woff2 +0 -0
- data/assets/js/env.js +8 -0
- data/assets/js/pack.L3BFF2IJ.js +40 -0
- data/assets/js/pack.L3BFF2IJ.js.map +7 -0
- metadata +287 -23
- data/_data/forms/contacto.yml +0 -40
- data/_sass/helpers.scss +0 -54
- data/_sass/share.html +0 -12
- data/_sass/share_box.html +0 -16
- data/assets/js/script.js +0 -82
data/_includes/number.html
CHANGED
@@ -1 +1,9 @@
|
|
1
|
-
{
|
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 %}
|
data/_includes/pack.html
ADDED
@@ -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
|
-
{{
|
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
|
108
|
+
{%- if license -%}
|
102
109
|
<p itemprop="license" itemtype="http://schema.org/CreativeWork">
|
103
|
-
<a rel="license" itemprop="url" href="{{
|
110
|
+
<a rel="license" itemprop="url" href="{{ license.url }}">
|
104
111
|
<span itemprop="articleBody">
|
105
|
-
{{
|
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' }}" />
|
data/_includes/reproductor.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
{%- assign radio = site.
|
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
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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,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: '' |
|
4
|
+
{% assign url = url | default: '' | component_escape %}
|
5
5
|
{% endunless %}
|
6
|
-
{% assign title = include.title | default: '' |
|
7
|
-
{% assign description = include.description | default: '' |
|
8
|
-
{% assign
|
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: '%
|
24
|
+
| replace: '%tags', tags
|
25
25
|
}}">
|
26
|
-
<i class="fa fa-fw fa-{{ include.share.icon }}"></i>
|
27
|
-
|
26
|
+
<i class="fa fa-fw fa-{{ include.share.icon }}" aria-hidden="true"></i>
|
27
|
+
{{ include.share.title }}
|
28
28
|
</a>
|
data/_includes/share_box.html
CHANGED
@@ -1,13 +1,42 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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">×</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>
|
data/_includes/string.html
CHANGED
@@ -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
|
-
|
11
|
+
|
12
|
+
{% include input.html field=f input_class=include.input_class %}
|
data/_includes/submit.html
CHANGED
@@ -1 +1,13 @@
|
|
1
|
-
|
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>
|
data/_includes/svg/x.svg
ADDED
@@ -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
|
-
{
|
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><button></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,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>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Este label puede usarse para abrir y cerrar un elemento asociado a
|
3
|
+
toggler.html
|
4
|
+
|
5
|
+
Mientras compartan la misma ID puede colocarse el label en cualquier
|
6
|
+
lado del HTML.
|
7
|
+
|
8
|
+
@see toggler.html
|
9
|
+
@param :id [String] La ID del elemento
|
10
|
+
@param :class [String] CSS
|
11
|
+
@param :content [String] Contenido
|
12
|
+
{% endcomment %}
|
13
|
+
<label
|
14
|
+
data-controller="label"
|
15
|
+
tabindex="0"
|
16
|
+
aria-hidden="true"
|
17
|
+
id="{{ include.id }}-label"
|
18
|
+
for="{{ include.id }}"
|
19
|
+
class="{{ include.class }}">
|
20
|
+
{{ include.content }}
|
21
|
+
</label>
|