recursero-jekyll-theme 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +168 -0
- data/README.md +113 -0
- data/_data/en.yml +38 -0
- data/_data/es.yml +49 -0
- data/_data/forms/contacto.yml +40 -0
- data/_data/layouts/about.yml +109 -0
- data/_data/layouts/category.yml +106 -0
- data/_data/layouts/page.yml +124 -0
- data/_data/layouts/place.yml +186 -0
- data/_data/layouts/post.yml +124 -0
- data/_includes/boolean.html +30 -0
- data/_includes/burger.svg +1 -0
- data/_includes/contact.html +19 -0
- data/_includes/content.html +1 -0
- data/_includes/email.html +1 -0
- data/_includes/file.html +35 -0
- data/_includes/footer.html +14 -0
- data/_includes/form/boolean.html +1 -0
- data/_includes/form/content.html +1 -0
- data/_includes/form/email.html +1 -0
- data/_includes/form/file.html +1 -0
- data/_includes/form/hidden.html +1 -0
- data/_includes/form/image.html +1 -0
- data/_includes/form/input.html +1 -0
- data/_includes/form/markdown_content.html +1 -0
- data/_includes/form/number.html +1 -0
- data/_includes/form/predefined_array.html +1 -0
- data/_includes/form/section.html +1 -0
- data/_includes/form/separator.html +1 -0
- data/_includes/form/string.html +1 -0
- data/_includes/form/submit.html +1 -0
- data/_includes/form/tel.html +1 -0
- data/_includes/form/text.html +1 -0
- data/_includes/form/url.html +1 -0
- data/_includes/hidden.html +5 -0
- data/_includes/image.html +32 -0
- data/_includes/input.html +33 -0
- data/_includes/logo.svg +5 -0
- data/_includes/markdown_content.html +1 -0
- data/_includes/navbar.html +53 -0
- data/_includes/number.html +1 -0
- data/_includes/predefined_array.html +39 -0
- data/_includes/search.html +15 -0
- data/_includes/section.html +1 -0
- data/_includes/separator.html +1 -0
- data/_includes/share.html +21 -0
- data/_includes/share_box.html +16 -0
- data/_includes/string.html +3 -0
- data/_includes/submit.html +1 -0
- data/_includes/tel.html +1 -0
- data/_includes/text.html +32 -0
- data/_includes/url.html +1 -0
- data/_includes/x.svg +1 -0
- data/_layouts/about.html +71 -0
- data/_layouts/archive.html +21 -0
- data/_layouts/category.html +70 -0
- data/_layouts/default.html +28 -0
- data/_layouts/home.html +23 -0
- data/_layouts/page.html +71 -0
- data/_layouts/place.html +133 -0
- data/_layouts/post.html +84 -0
- data/_sass/accessibility.scss +13 -0
- data/_sass/embed.scss +5 -0
- data/_sass/helpers.scss +54 -0
- data/_sass/navbar.scss +56 -0
- data/_sass/share.html +12 -0
- data/_sass/share_box.html +16 -0
- data/_sass/share_box.scss +26 -0
- data/_sass/toggler.scss +39 -0
- data/assets/css/styles.scss +42 -0
- data/assets/css/styles.scss.orig +45 -0
- data/assets/fonts/forkawesome-webfont.woff2 +0 -0
- data/assets/js/entry.js +8 -0
- data/assets/js/script.js +65 -0
- data/assets/js/script.js.orig +72 -0
- data/assets/js/search.js +3 -0
- data/assets/templates/result.html +9 -0
- metadata +400 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1].help[site.locale] -%}
|
5
|
+
{%- assign autocomplete = include.field[1].autocomplete -%}
|
6
|
+
|
7
|
+
<div class="form-check text-left">
|
8
|
+
<input
|
9
|
+
{% if help %}
|
10
|
+
aria-describedby="help-{{ id }}"
|
11
|
+
{% endif %}
|
12
|
+
{% if include.field[1].required %}
|
13
|
+
required
|
14
|
+
{% endif %}
|
15
|
+
type="checkbox"
|
16
|
+
name="{{ name }}"
|
17
|
+
id="{{ id }}"
|
18
|
+
{% if autocomplete %}
|
19
|
+
autocomplete="{{ autocomplete }}"
|
20
|
+
{% endif %}
|
21
|
+
class="form-check-input" />
|
22
|
+
|
23
|
+
<label class="form-check-label" for="{{ id }}">{{ label }}</label>
|
24
|
+
|
25
|
+
{%- if help -%}
|
26
|
+
<small id="help-{{ id }}" class="form-text">
|
27
|
+
{{ help }}
|
28
|
+
</small>
|
29
|
+
{%- endif -%}
|
30
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 7.9373541 7.937774"><path stroke-miterlimit="10" stroke-width="0.52917" stroke="#000000" fill="none" d="M 0,1.0861064 H 7.937774 M 0,3.9685489 H 7.937774 M 0,6.8516676 h 7.937774" /></svg>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Esta imagen obtiene una cookie desde la API de Sutty para autorizar el
|
3
|
+
envío del formulario.
|
4
|
+
{% endcomment %}
|
5
|
+
<img class="d-none" src="https://api.sutty.nl/v1/sites/{{ site.hostname }}/contact/cookie.png" />
|
6
|
+
|
7
|
+
{% comment %}
|
8
|
+
El formulario se envía a la API. La definición del formulario se
|
9
|
+
encuentra en _data/forms/contacto.yml
|
10
|
+
{% endcomment %}
|
11
|
+
<form action="https://api.sutty.nl/v1/sites/{{ site.hostname }}/contact/contacto"
|
12
|
+
method="post">
|
13
|
+
{%- for field in include.form -%}
|
14
|
+
{% assign template = field[1].type | append: '.html' %}
|
15
|
+
<div class="col{{ field[1].col | default: 12 | prepend: '-' }}">
|
16
|
+
{% include {{ template }} field=field %}
|
17
|
+
</div>
|
18
|
+
{%- endfor -%}
|
19
|
+
</form>
|
@@ -0,0 +1 @@
|
|
1
|
+
{% include text.html field=field %}
|
@@ -0,0 +1 @@
|
|
1
|
+
{% include input.html field=field %}
|
data/_includes/file.html
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1]['path'].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1]['path'].help[site.locale] -%}
|
5
|
+
{%- assign accept = include.field[1].accept -%}
|
6
|
+
|
7
|
+
<label>{{ label }}</label>
|
8
|
+
|
9
|
+
<div class="custom-file">
|
10
|
+
<input
|
11
|
+
{% if help %}
|
12
|
+
aria-describedby="help-{{ id }}"
|
13
|
+
{% endif %}
|
14
|
+
{% if include.field[1].required %}
|
15
|
+
required
|
16
|
+
{% endif %}
|
17
|
+
type="{{ include.field[1].type }}"
|
18
|
+
name="{{ name }}[path]"
|
19
|
+
id="{{ id }}_path"
|
20
|
+
{% if accept %}
|
21
|
+
accept="{{ accept }}"
|
22
|
+
{% endif %}
|
23
|
+
class="custom-file-input" />
|
24
|
+
|
25
|
+
<label for="{{ id }}_path" class="custom-file-label">
|
26
|
+
{{ label }}
|
27
|
+
{% if include.field[1].required %}*{% endif %}
|
28
|
+
</label>
|
29
|
+
|
30
|
+
{%- if help -%}
|
31
|
+
<small id="help-{{ id }}" class="form-text">
|
32
|
+
{{ help }}
|
33
|
+
</small>
|
34
|
+
{%- endif -%}
|
35
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{%- assign about = site.posts | find: 'layout', 'about' -%}
|
2
|
+
<footer class="d-flex align-items-center justify-content-center mt-5 pt-3 pb-3 background-gray-dark">
|
3
|
+
{%- if about.email -%}
|
4
|
+
<a class="gray" href="mailto:{{ about.email }}" rel="me" title="{{ site.title }}">{{ about.email }}</a>
|
5
|
+
{%- endif -%}
|
6
|
+
|
7
|
+
{%- for network in about.social_networks -%}
|
8
|
+
{%- assign n = network | social_network -%}
|
9
|
+
<a class="gray" href="{{ n.url }}" rel="me" target="_blank" title="{{ n.name | capitalize }}">
|
10
|
+
<i class="fa fa-fw fa-lg fa-{{ n.name }}"></i>
|
11
|
+
<span class="sr-only">{{ n.name }}</span>
|
12
|
+
</a>
|
13
|
+
{%- endfor -%}
|
14
|
+
</footer>
|
@@ -0,0 +1 @@
|
|
1
|
+
../boolean.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../content.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../email.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../file.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../hidden.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../image.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../input.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../markdown_content.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../number.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../predefined_array.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../section.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../separator.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../string.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../submit.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../tel.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../text.html
|
@@ -0,0 +1 @@
|
|
1
|
+
../url.html
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1]['path'].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1]['path'].help[site.locale] -%}
|
5
|
+
|
6
|
+
<label>{{ label }}</label>
|
7
|
+
|
8
|
+
<div class="custom-file">
|
9
|
+
<input
|
10
|
+
{% if help %}
|
11
|
+
aria-describedby="help-{{ id }}"
|
12
|
+
{% endif %}
|
13
|
+
{% if include.field[1].required %}
|
14
|
+
required
|
15
|
+
{% endif %}
|
16
|
+
type="{{ include.field[1].type }}"
|
17
|
+
name="{{ name }}[path]"
|
18
|
+
id="{{ id }}_path"
|
19
|
+
accept="image/*"
|
20
|
+
class="custom-file-input" />
|
21
|
+
|
22
|
+
<label for="{{ id }}_path" class="custom-file-label">
|
23
|
+
{{ label }}
|
24
|
+
{% if include.field[1].required %}*{% endif %}
|
25
|
+
</label>
|
26
|
+
|
27
|
+
{%- if help -%}
|
28
|
+
<small id="help-{{ id }}" class="form-text">
|
29
|
+
{{ help }}
|
30
|
+
</small>
|
31
|
+
{%- endif -%}
|
32
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1].help[site.locale] -%}
|
5
|
+
{%- assign autocomplete = include.field[1].autocomplete -%}
|
6
|
+
|
7
|
+
<div class="form-group">
|
8
|
+
<label for="{{ id }}">
|
9
|
+
{{ label }}
|
10
|
+
{% if include.field[1].required %}*{% endif %}
|
11
|
+
</label>
|
12
|
+
|
13
|
+
<input
|
14
|
+
{% if help %}
|
15
|
+
aria-describedby="help-{{ id }}"
|
16
|
+
{% endif %}
|
17
|
+
{% if include.field[1].required %}
|
18
|
+
required
|
19
|
+
{% endif %}
|
20
|
+
type="{{ include.field[1].type }}"
|
21
|
+
name="{{ name }}"
|
22
|
+
id="{{ id }}"
|
23
|
+
{% if autocomplete %}
|
24
|
+
autocomplete="{{ autocomplete }}"
|
25
|
+
{% endif %}
|
26
|
+
class="form-control" />
|
27
|
+
|
28
|
+
{%- if help -%}
|
29
|
+
<small id="help-{{ id }}" class="form-text">
|
30
|
+
{{ help }}
|
31
|
+
</small>
|
32
|
+
{%- endif -%}
|
33
|
+
</div>
|
data/_includes/logo.svg
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.662 9.912" aria-labelledby="title desc">
|
2
|
+
<title id="title">{{ site.i18n.logo.title | escape }}</title>
|
3
|
+
<desc id="desc">{{ site.i18n.logo.desc | escape }}</desc>
|
4
|
+
<path d="M.342 3.416c2.472.614 2.823 6.066 6.839 6.157 5.597.126 3.556-8.329.02-7.886-3.922.49-.351 9.137 4.212 5.28 1.717-1.451 3-5.927.555-6.628" stroke-miterlimit="10" fill="none" stroke="#fff" stroke-width=".675" stroke-linecap="round"/>
|
5
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
{% include text.html field=field %}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{%- assign menu = site.posts | where: 'layout', 'about' | where: 'menu', true -%}
|
2
|
+
|
3
|
+
<nav class="navbar navbar-expand-lg d-print-block navbar-light" role="navigation" aria-label="{{ site.i18n.menu.title }}">
|
4
|
+
<a class="navbar-brand" href="">
|
5
|
+
<img src="{{ menu[0].logo.path | thumbnail: nil, 60 }}" alt="Logo"/>
|
6
|
+
</a>
|
7
|
+
|
8
|
+
{% comment %}
|
9
|
+
TODO: Add CSS-only hamburger menu.
|
10
|
+
{% endcomment %}
|
11
|
+
<input
|
12
|
+
type="checkbox"
|
13
|
+
id="menu-toggler"
|
14
|
+
aria-label="{{ site.i18n.menu.action }}"
|
15
|
+
aria-labelledby="menu-label"
|
16
|
+
class="toggler"/>
|
17
|
+
<label
|
18
|
+
for="menu-toggler"
|
19
|
+
id="menu-label"
|
20
|
+
class="w-lg-100 m-0 p-0 d-print-none"
|
21
|
+
aria-controls="menu"
|
22
|
+
aria-label="{{ site.i18n.menu.title }}">
|
23
|
+
<div class="d-block d-lg-none">
|
24
|
+
<div class="icon-open">
|
25
|
+
{% include burger.svg %}
|
26
|
+
</div>
|
27
|
+
<div class="icon-close">
|
28
|
+
{% include x.svg %}
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<ul class="toggled navbar-nav">
|
33
|
+
{%- for item in menu -%}
|
34
|
+
{% comment %}
|
35
|
+
This makes it hard to just cache the whole navbar, but we prefer
|
36
|
+
to mark the active item in code rather than with JS.
|
37
|
+
{% endcomment %}
|
38
|
+
|
39
|
+
<li class="nav-item">
|
40
|
+
<a class="nav-link{% if page.url == item.url %} active{% endif %}" href="{{ item.url }}">
|
41
|
+
{{ item.title }}
|
42
|
+
|
43
|
+
{%- if page.url == item.url -%}
|
44
|
+
<span class="sr-only">
|
45
|
+
{{ site.i18n.menu.active | default: '(current)' }}
|
46
|
+
</span>
|
47
|
+
{%- endif -%}
|
48
|
+
</a>
|
49
|
+
</li>
|
50
|
+
{%- endfor -%}
|
51
|
+
</ul>
|
52
|
+
</label>
|
53
|
+
</nav>
|
@@ -0,0 +1 @@
|
|
1
|
+
{% include input.html field=field %}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1].help[site.locale] -%}
|
5
|
+
{%- assign autocomplete = include.field[1].autocomplete -%}
|
6
|
+
|
7
|
+
<div class="form-group">
|
8
|
+
<label for="{{ id }}">
|
9
|
+
{{ label }}
|
10
|
+
{% if include.field[1].required %}*{% endif %}
|
11
|
+
</label>
|
12
|
+
|
13
|
+
<select
|
14
|
+
{% if help %}
|
15
|
+
aria-describedby="help-{{ id }}"
|
16
|
+
{% endif %}
|
17
|
+
{% if include.field[1].required %}
|
18
|
+
required
|
19
|
+
{% endif %}
|
20
|
+
name="{{ name }}"
|
21
|
+
id="{{ id }}"
|
22
|
+
{% if autocomplete %}
|
23
|
+
autocomplete="{{ autocomplete }}"
|
24
|
+
{% endif %}
|
25
|
+
class="form-control">
|
26
|
+
|
27
|
+
<option value="" selected></option>
|
28
|
+
|
29
|
+
{%- for option in include.field[1].values -%}
|
30
|
+
<option value="{{ option }}">{{ option }}</option>
|
31
|
+
{%- endfor -%}
|
32
|
+
</select>
|
33
|
+
|
34
|
+
{%- if help -%}
|
35
|
+
<small id="help-{{ id }}" class="form-text">
|
36
|
+
{{ help }}
|
37
|
+
</small>
|
38
|
+
{%- endif -%}
|
39
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Encabezado con buscador
|
3
|
+
{%- endcomment -%}
|
4
|
+
<section id="{{ site.i18n.search.id }}">
|
5
|
+
<div class="jumbotron">
|
6
|
+
<form method="get" class="search" action="{{ site.i18n.search.url }}">
|
7
|
+
<div class="form-group">
|
8
|
+
<label for="search" class="sr-only">{{ site.i18n.search.placeholder }}</label>
|
9
|
+
<input class="form-control form-control-lg" autocomplete="off" type="search" name="q" placeholder="{{ site.i18n.search.placeholder }}" />
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<input type="submit" value="{{ site.i18n.search.submit }}" class="sr-only" />
|
13
|
+
</form>
|
14
|
+
</div>
|
15
|
+
</section>
|
@@ -0,0 +1 @@
|
|
1
|
+
<h2 id="{{ include.field[0] }}">{{ include.field[1].title }}</h2>
|
@@ -0,0 +1 @@
|
|
1
|
+
<hr/>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{% capture url %}{{ site.url }}{{ include.url }}{% endcapture %}
|
2
|
+
|
3
|
+
{% unless include.share.url == '%url' %}
|
4
|
+
{% assign url = url | default: '' | cgi_escape %}
|
5
|
+
{% endunless %}
|
6
|
+
{% assign title = include.title | default: '' | cgi_escape %}
|
7
|
+
{% assign description = include.description | default: '' | cgi_escape %}
|
8
|
+
|
9
|
+
<a
|
10
|
+
{% if include.share.url == '%url' %}
|
11
|
+
download
|
12
|
+
{% else %}
|
13
|
+
target="_blank"
|
14
|
+
{% endif %}
|
15
|
+
rel="nofollow"
|
16
|
+
title="{{ include.share.title }}"
|
17
|
+
class="d-flex flex-column align-items-center p-3"
|
18
|
+
href="{{ include.share.url | replace: '%url', url | replace: '%title', title | replace: '%description', description }}">
|
19
|
+
<i class="fa fa-fw fa-2x fa-{{ include.share.icon }}"></i>
|
20
|
+
<span>{{ include.share.title }}</span>
|
21
|
+
</a>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<input type="checkbox" id="share" class="toggler" autocomplete="off" />
|
2
|
+
|
3
|
+
<label class="share btn border btn-block" for="share">
|
4
|
+
{{ site.i18n.share.text }}
|
5
|
+
<i class="fa fa-{{ site.i18n.share.icon }}"></i>
|
6
|
+
|
7
|
+
<div class="share-box toggled d-flex align-items-center justify-content-center">
|
8
|
+
<div class="box background-white color-redpink row no-gutters align-items-center justify-content-center p-3">
|
9
|
+
{% for share in site.i18n.share.items %}
|
10
|
+
<div class="col-4">
|
11
|
+
{% include_cached share.html share=share url=include.url title=include.title description=include.description %}
|
12
|
+
</div>
|
13
|
+
{% endfor %}
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</label>
|
@@ -0,0 +1 @@
|
|
1
|
+
<input type="submit" class="btn btn-success" value="{{ include.field[1].label[site.locale] }}" />
|
data/_includes/tel.html
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{% include input.html field=field %}
|
data/_includes/text.html
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
{%- assign name = include.field[0] -%}
|
2
|
+
{%- assign id = include.field[1].id | default: name -%}
|
3
|
+
{%- assign label = include.field[1].label[site.locale] -%}
|
4
|
+
{%- assign help = include.field[1].help[site.locale] -%}
|
5
|
+
{%- assign autocomplete = include.field[1].autocomplete -%}
|
6
|
+
|
7
|
+
<div class="form-group">
|
8
|
+
<label for="{{ id }}">
|
9
|
+
{% if include.field[1].required %}*{% endif %}
|
10
|
+
{{ label }}
|
11
|
+
</label>
|
12
|
+
|
13
|
+
<textarea
|
14
|
+
{% if help %}
|
15
|
+
aria-describedby="help-{{ id }}"
|
16
|
+
{% endif %}
|
17
|
+
{% if include.field[1].required %}
|
18
|
+
required
|
19
|
+
{% endif %}
|
20
|
+
name="{{ name }}"
|
21
|
+
id="{{ id }}"
|
22
|
+
{% if autocomplete %}
|
23
|
+
autocomplete="{{ autocomplete }}"
|
24
|
+
{% endif %}
|
25
|
+
class="form-control"></textarea>
|
26
|
+
|
27
|
+
{%- if .help -%}
|
28
|
+
<small id="help-{{ id }}" class="form-text">
|
29
|
+
{{ help }}
|
30
|
+
</small>
|
31
|
+
{%- endif -%}
|
32
|
+
</div>
|