recursero-jekyll-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +168 -0
  3. data/README.md +113 -0
  4. data/_data/en.yml +38 -0
  5. data/_data/es.yml +49 -0
  6. data/_data/forms/contacto.yml +40 -0
  7. data/_data/layouts/about.yml +109 -0
  8. data/_data/layouts/category.yml +106 -0
  9. data/_data/layouts/page.yml +124 -0
  10. data/_data/layouts/place.yml +186 -0
  11. data/_data/layouts/post.yml +124 -0
  12. data/_includes/boolean.html +30 -0
  13. data/_includes/burger.svg +1 -0
  14. data/_includes/contact.html +19 -0
  15. data/_includes/content.html +1 -0
  16. data/_includes/email.html +1 -0
  17. data/_includes/file.html +35 -0
  18. data/_includes/footer.html +14 -0
  19. data/_includes/form/boolean.html +1 -0
  20. data/_includes/form/content.html +1 -0
  21. data/_includes/form/email.html +1 -0
  22. data/_includes/form/file.html +1 -0
  23. data/_includes/form/hidden.html +1 -0
  24. data/_includes/form/image.html +1 -0
  25. data/_includes/form/input.html +1 -0
  26. data/_includes/form/markdown_content.html +1 -0
  27. data/_includes/form/number.html +1 -0
  28. data/_includes/form/predefined_array.html +1 -0
  29. data/_includes/form/section.html +1 -0
  30. data/_includes/form/separator.html +1 -0
  31. data/_includes/form/string.html +1 -0
  32. data/_includes/form/submit.html +1 -0
  33. data/_includes/form/tel.html +1 -0
  34. data/_includes/form/text.html +1 -0
  35. data/_includes/form/url.html +1 -0
  36. data/_includes/hidden.html +5 -0
  37. data/_includes/image.html +32 -0
  38. data/_includes/input.html +33 -0
  39. data/_includes/logo.svg +5 -0
  40. data/_includes/markdown_content.html +1 -0
  41. data/_includes/navbar.html +53 -0
  42. data/_includes/number.html +1 -0
  43. data/_includes/predefined_array.html +39 -0
  44. data/_includes/search.html +15 -0
  45. data/_includes/section.html +1 -0
  46. data/_includes/separator.html +1 -0
  47. data/_includes/share.html +21 -0
  48. data/_includes/share_box.html +16 -0
  49. data/_includes/string.html +3 -0
  50. data/_includes/submit.html +1 -0
  51. data/_includes/tel.html +1 -0
  52. data/_includes/text.html +32 -0
  53. data/_includes/url.html +1 -0
  54. data/_includes/x.svg +1 -0
  55. data/_layouts/about.html +71 -0
  56. data/_layouts/archive.html +21 -0
  57. data/_layouts/category.html +70 -0
  58. data/_layouts/default.html +28 -0
  59. data/_layouts/home.html +23 -0
  60. data/_layouts/page.html +71 -0
  61. data/_layouts/place.html +133 -0
  62. data/_layouts/post.html +84 -0
  63. data/_sass/accessibility.scss +13 -0
  64. data/_sass/embed.scss +5 -0
  65. data/_sass/helpers.scss +54 -0
  66. data/_sass/navbar.scss +56 -0
  67. data/_sass/share.html +12 -0
  68. data/_sass/share_box.html +16 -0
  69. data/_sass/share_box.scss +26 -0
  70. data/_sass/toggler.scss +39 -0
  71. data/assets/css/styles.scss +42 -0
  72. data/assets/css/styles.scss.orig +45 -0
  73. data/assets/fonts/forkawesome-webfont.woff2 +0 -0
  74. data/assets/js/entry.js +8 -0
  75. data/assets/js/script.js +65 -0
  76. data/assets/js/script.js.orig +72 -0
  77. data/assets/js/search.js +3 -0
  78. data/assets/templates/result.html +9 -0
  79. 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 %}
@@ -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,5 @@
1
+ {%- assign name = include.field[0] -%}
2
+ {%- assign id = include.field[1].id | default: name -%}
3
+ {%- assign value = include.field[1].value -%}
4
+
5
+ <input type="hidden" value="{{ value }}" name="{{ name }}" id="{{ id }}" />
@@ -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>
@@ -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,3 @@
1
+ {% assign f = field %}
2
+ {% assign f.type = 'text' %}
3
+ {% include input.html field=f %}
@@ -0,0 +1 @@
1
+ <input type="submit" class="btn btn-success" value="{{ include.field[1].label[site.locale] }}" />
@@ -0,0 +1 @@
1
+ {% include input.html field=field %}
@@ -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>