jekyll-theme-ethereal 0.3.1 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -0
- data/_includes/contact_form.html +21 -0
- data/_includes/contact_script.html +52 -0
- data/_includes/date.html +12 -10
- data/_includes/footer.html +4 -4
- data/_includes/head.html +13 -5
- data/_includes/language.html +6 -7
- data/_includes/panel.html +11 -9
- data/_includes/panel_contact.html +12 -19
- data/_includes/panel_map.html +57 -0
- data/_includes/scripts.html +26 -13
- data/_includes/social.html +22 -22
- data/_includes/space_launch_calendar.json +155 -0
- data/_includes/thread.html +4 -6
- data/_layouts/collection.html +8 -10
- data/_layouts/default.html +8 -7
- data/_layouts/home.html +1 -3
- data/_layouts/index.html +17 -0
- data/_layouts/post.html +4 -4
- data/_layouts/robots.html +7 -0
- data/_layouts/sitemap.html +10 -12
- data/assets/css/mapbox-gl.css +600 -0
- data/assets/images/screenshot.jpg +0 -0
- data/assets/js/main.js +546 -546
- data/assets/js/mapbox-gl.js +40 -0
- data/assets/js/simple-jekyll-search.min.js +6 -0
- data/en/privacy-policy.md +1 -1
- metadata +28 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb966ca5c76cc867d1a4e8fa61a47b08d26badb8e375abf2e20531ba5f3d6e2c
|
4
|
+
data.tar.gz: 32bb6cd722c17766a20e5d1d29a00490bd1cc13417ed21c0682607bfb6579ab2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e600781b4072caa118b7ba7e26f7b5b5bf6a388f4dd823aad1eadb4357e5d2dceff9db13c2e9f1cc9168ddac267d3850461f28fb8ec00dcb812b26a20f1ffe46
|
7
|
+
data.tar.gz: b53647d65a397c0151f3871c12dda3e09b3b60bac5b246f1dfc8de6a80fbfc690a29784e629cdbd75e95deefd2b13906227cfafdcec16aafe94071be50d0d576
|
data/README.md
CHANGED
@@ -22,6 +22,10 @@ You can preview the theme [here](https://moodule.github.io/jekyll-theme-ethereal
|
|
22
22
|
|
23
23
|
> **SEO ready**: sitemap, robots.txt and tags are automatically generated for the website
|
24
24
|
|
25
|
+
> **Light**: svg images, thumbs and lazy loading for raster images, few libraries
|
26
|
+
|
27
|
+
> **Hardened**: form validation, recaptcha, verified libraries
|
28
|
+
|
25
29
|
# Installation
|
26
30
|
|
27
31
|
Add this line to your Jekyll site's `Gemfile`:
|
@@ -50,6 +54,11 @@ For those unfamiliar with how Jekyll works, check out [jekyllrb.com](https://jek
|
|
50
54
|
or read up on just the basics of [front matter](https://jekyllrb.com/docs/frontmatter/), [writing posts](https://jekyllrb.com/docs/posts/),
|
51
55
|
and [creating pages](https://jekyllrb.com/docs/pages/).
|
52
56
|
|
57
|
+
## Initialization
|
58
|
+
|
59
|
+
Copy the file `_config.yml` from the theme repository to the root of your website folder tree.
|
60
|
+
The following section explains what the settings impact and how to configure `_config.yml` properly.
|
61
|
+
|
53
62
|
## Configuration
|
54
63
|
|
55
64
|
You can use the following custom parameters in `_config.yml`.
|
@@ -65,6 +74,12 @@ Social icons will appear for each url your fill in, among `facebook_url` etc.
|
|
65
74
|
### Contact
|
66
75
|
Your contact information can be used in contact forms, the footer or anywhere else.
|
67
76
|
|
77
|
+
### Recaptcha
|
78
|
+
|
79
|
+
The contact form is validated using [google's recaptcha plugin][recaptcha-documentation].
|
80
|
+
First, you need to [sign your website up] to enable the plugin.
|
81
|
+
Google will provide you with a **client-side integration key**: copy it to `_config.yml` under `recaptcha.sitekey`.
|
82
|
+
|
68
83
|
## Publication
|
69
84
|
|
70
85
|
### On Github Pages
|
@@ -536,3 +551,5 @@ The theme is available as open source under the terms of the [CC-BY-4.0](LICENSE
|
|
536
551
|
[cookieconsent]: https://github.com/osano/cookieconsent
|
537
552
|
[html5up]: https://html5up.net/
|
538
553
|
[jekyll-logo]: https://github.com/jekyll/brand
|
554
|
+
[recaptcha-documentation]: https://developers.google.com/recaptcha/intro
|
555
|
+
[recaptcha-registering]: https://www.google.com/recaptcha/admin
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<form method="post" id="{{ include.form_id | 'contact-form' }}" action="#" onsubmit="{{ include.onsubmit_callback | 'sendContactMessage' }}()" onreset="{{ include.onreset_callback | 'resetContactForm' }}()" >
|
2
|
+
<div class="fields">
|
3
|
+
<div class="field half">
|
4
|
+
<label for="name">Name</label>
|
5
|
+
<input type="text" name="{{ include.name_input_id | 'contact-name' }}" id="{{ include.name_input_id | 'contact-name' }}" required minlength="4" maxlength="64" />
|
6
|
+
</div>
|
7
|
+
<div class="field half">
|
8
|
+
<label for="email">Email</label>
|
9
|
+
<input type="email" name="{{ include.email_input_id | 'contact-email' }}" id="{{ include.email_input_id | 'contact-email' }}" required minlength="8" maxlength="64" />
|
10
|
+
</div>
|
11
|
+
<div class="field">
|
12
|
+
<label for="message">Message</label>
|
13
|
+
<textarea name="{{ include.message_input_id | 'contact-message' }}" id="{{ include.message_input_id | 'contact-message' }}" rows="4"vrequired minlength="16" maxlength="256" ></textarea>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<ul class="actions">
|
17
|
+
<li><div id="{{ include.recaptcha_widget_id | 'recaptcha-checkbox' }}" ></div></li>
|
18
|
+
<li><input type="submit" id="{{ include.submit_input_id | 'contact-submit-button' }}" value="Send Message" class="button primary fa-envelope" disabled /></li>
|
19
|
+
<li><input type="reset" id="{{ include.reset_input_id | 'contact-reset-button' }}" value="Reset" class="icon button fa-undo" /></li>
|
20
|
+
</ul>
|
21
|
+
</form>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
const contactFormElement = document.getElementById("{{ include.form_id | default: 'contact-form' }}");
|
3
|
+
const nameInputElement = document.getElementById("{{ include.name_input_id | default: 'contact-name' }}");
|
4
|
+
const emailInputElement = document.getElementById("{{ include.email_input_id | default: 'contact-email' }}");
|
5
|
+
const messageInputElement = document.getElementById("{{ include.message_input_id | default: 'contact-message' }}");
|
6
|
+
const submitInputElement = document.getElementById("{{ include.submit_input_id | default: 'contact-submit-button' }}");
|
7
|
+
var recaptchaWidget;
|
8
|
+
|
9
|
+
const isInputValid = function() {
|
10
|
+
return (nameInputElement.checkValidity()
|
11
|
+
&& emailInputElement.checkValidity()
|
12
|
+
&& messageInputElement.checkValidity())
|
13
|
+
};
|
14
|
+
|
15
|
+
const isRecaptchaValid = function() {
|
16
|
+
var responseToken = grecaptcha.getResponse(recaptchaWidget);
|
17
|
+
return true;
|
18
|
+
};
|
19
|
+
|
20
|
+
const disableSubmitInputElement = function (disabled = true) {
|
21
|
+
submitInputElement.disabled = disabled;
|
22
|
+
}
|
23
|
+
|
24
|
+
const {{ include.onreset_callback | 'resetContactForm' }} = function() {
|
25
|
+
contactFormElement.reset();
|
26
|
+
disableSubmitInputElement();
|
27
|
+
};
|
28
|
+
|
29
|
+
const {{ include.onsubmit_callback | 'sendContactMessage()' }} = function() {
|
30
|
+
encodeURIComponent(nameInputElement.value);
|
31
|
+
encodeURIComponent(emailInputElement.value);
|
32
|
+
encodeURIComponent(messageInputElement.value);
|
33
|
+
};
|
34
|
+
|
35
|
+
var onloadCallback = function() {
|
36
|
+
var verifyForm = function(response) {
|
37
|
+
if (isInputValid() && isRecaptchaValid()) {
|
38
|
+
disableSubmitInputElement(false);
|
39
|
+
} else {
|
40
|
+
disableSubmitInputElement();
|
41
|
+
}
|
42
|
+
};
|
43
|
+
recaptchaWidget = grecaptcha.render('{{ include.recaptcha_widget_id | 'recaptcha-checkbox' }}', {
|
44
|
+
'sitekey' : '{{ site.recaptcha.sitekey }}',
|
45
|
+
'theme' : 'dark',
|
46
|
+
'callback' : verifyForm,
|
47
|
+
'expired-callback': disableSubmitInputElement,
|
48
|
+
'size' : 'compact'
|
49
|
+
});
|
50
|
+
};
|
51
|
+
</script>
|
52
|
+
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
|
data/_includes/date.html
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{
|
1
|
+
{%- assign day = include.date | date: "%-d" -%}
|
2
|
+
{%- assign month = include.date | date: "%-m" -%}
|
3
|
+
{%- if page.lang == "en" -%}
|
4
4
|
{{ include.date | date: "%B" }} {{ day }}, {{ include.date | date: "%Y" }}
|
5
|
-
{
|
6
|
-
{
|
5
|
+
{%- elsif page.lang == "fr" -%}
|
6
|
+
{%- if day == "1" -%}
|
7
7
|
{{ day }}<sup>er</sup>
|
8
|
-
{
|
9
|
-
|
10
|
-
{
|
8
|
+
{%- else -%}
|
9
|
+
{{ day }}
|
10
|
+
{%- endif -%}
|
11
|
+
{%- case month -%}
|
11
12
|
{% when '1' %}janvier
|
12
13
|
{% when '2' %}février
|
13
14
|
{% when '3' %}mars
|
@@ -20,5 +21,6 @@
|
|
20
21
|
{% when '10' %}octobre
|
21
22
|
{% when '11' %}novembre
|
22
23
|
{% when '12' %}décembre
|
23
|
-
{
|
24
|
-
{
|
24
|
+
{%- endcase -%}
|
25
|
+
{{ include.date | date: "%Y" }}
|
26
|
+
{%- endif -%}
|
data/_includes/footer.html
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
<li>© {{ site.copyright.holder }} - {{ site.copyright.license }}</li>
|
5
5
|
<li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
|
6
6
|
<li>Jekyll integration: <a href="http://github.com/moodule" target="_blank">Moodule</a></li>
|
7
|
-
{
|
7
|
+
{%- if site.legal_terms.url -%}
|
8
8
|
<li><a href="{{ site.legal_terms.url | absolute_url }}" target="_blank">Legal Terms</a></li>
|
9
|
-
{
|
10
|
-
{
|
9
|
+
{%- endif -%}
|
10
|
+
{%- if site.privacy_policy.url -%}
|
11
11
|
<li><a href="{{ site.privacy_policy.url | absolute_url }}" target="_blank">Privacy Policy</a></li>
|
12
|
-
{
|
12
|
+
{%- endif -%}
|
13
13
|
</ul>
|
14
14
|
</footer>
|
data/_includes/head.html
CHANGED
@@ -1,13 +1,21 @@
|
|
1
|
-
{%- assign posts=site.posts | where:"lang-ref", page.lang-ref | sort: 'lang'
|
2
|
-
{%- assign pages=site.pages | where:"lang-ref", page.lang-ref | sort: 'lang' | concat: posts
|
1
|
+
{%- assign posts=site.posts | where:"lang-ref", page.lang-ref | sort: 'lang' -%}
|
2
|
+
{%- assign pages=site.pages | where:"lang-ref", page.lang-ref | sort: 'lang' | concat: posts -%}
|
3
3
|
<head>
|
4
4
|
<title>{{ include.title }} - {{ include.subtitle }}</title>
|
5
5
|
<meta charset="utf-8" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
7
7
|
<link rel="stylesheet" href="{{ 'assets/css/main.css' | absolute_url }}" />
|
8
|
-
{%-
|
8
|
+
{%- if include.stylesheets -%}
|
9
|
+
{%- for file in include.stylesheets -%}
|
10
|
+
<link rel="stylesheet" href="{{ file.url | absolute_url }}" />
|
11
|
+
{%- endfor -%}
|
12
|
+
{%- endif -%}
|
13
|
+
{%- for page in pages -%}
|
9
14
|
<link rel="alternate" hreflang="{{ page.lang }}" href="{{ page.url }}" />
|
10
|
-
{%- endfor
|
15
|
+
{%- endfor -%}
|
16
|
+
{%- if site.favicon -%}
|
17
|
+
<link rel="icon" href="{{ site.favicon | absolute_url }}" />
|
18
|
+
{%- endif -%}
|
11
19
|
<noscript><link rel="stylesheet" href="{{ 'assets/css/noscript.css' | absolute_url }}" /></noscript>
|
12
|
-
{%
|
20
|
+
{% seo %}
|
13
21
|
</head>
|
data/_includes/language.html
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
|
1
|
+
{%- assign posts=site.posts | where:"lang-ref", page.lang-ref | sort: 'lang' %}
|
2
|
+
{%- assign pages=site.pages | where:"lang-ref", page.lang-ref | sort: 'lang' | concat: posts -%}
|
4
3
|
<div id="language-selector">
|
5
4
|
<ul class="language">
|
6
|
-
{
|
7
|
-
{
|
5
|
+
{%- for page in pages -%}
|
6
|
+
{%- if page.lang != "x-default" -%}
|
8
7
|
<li>
|
9
8
|
<a href="{{ page.url | absolute_url }}" class="{{ page.lang }}">{{ page.lang }}</a>
|
10
9
|
</li>
|
11
|
-
{
|
12
|
-
{
|
10
|
+
{%- endif -%}
|
11
|
+
{%- endfor -%}
|
13
12
|
</ul>
|
14
13
|
</div>
|
data/_includes/panel.html
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
<section
|
2
2
|
class="panel {{ include.type }} {{ include.style.size }} {{ include.style.text.position | default: 'right' }} {{ include.style.background.color }}"
|
3
3
|
id="{{ include.id | default: include.type }}">
|
4
|
-
{
|
5
|
-
{% include panel_banner.html header=include.header content=include.content style=include.style %}
|
6
|
-
{
|
7
|
-
{% include panel_contact.html header=include.header content=include.content style=include.style %}
|
8
|
-
{
|
9
|
-
{% include panel_spotlight.html header=include.header content=include.content style=include.style %}
|
10
|
-
{
|
11
|
-
{% include
|
12
|
-
{
|
4
|
+
{%- if include.type=="banner" -%}
|
5
|
+
{% include panel_banner.html header=include.header content=include.content style=include.style data=include.data %}
|
6
|
+
{%- elsif include.type=="contact" -%}
|
7
|
+
{% include panel_contact.html header=include.header content=include.content style=include.style data=include.data %}
|
8
|
+
{%- elsif include.type=="spotlight" -%}
|
9
|
+
{% include panel_spotlight.html header=include.header content=include.content style=include.style data=include.data %}
|
10
|
+
{%- elsif include.type=="map" -%}
|
11
|
+
{% include panel_map.html header=include.header content=include.content style=include.style data=include.data %}
|
12
|
+
{%- else -%}
|
13
|
+
{% include panel_generic.html header=include.header content=include.content style=include.style data=include.data %}
|
14
|
+
{%- endif -%}
|
13
15
|
</section>
|
@@ -1,30 +1,23 @@
|
|
1
|
+
{%- assign form_id="contact-form" -%}
|
2
|
+
{%- assign name_input_id="contact-name" -%}
|
3
|
+
{%- assign email_input_id="contact-email" -%}
|
4
|
+
{%- assign message_input_id="contact-message" -%}
|
5
|
+
{%- assign submit_input_id="contact-submit-button" -%}
|
6
|
+
{%- assign reset_input_id="contact-reset-button" -%}
|
7
|
+
{%- assign recaptcha_widget_id="recaptcha-checkbox" -%}
|
8
|
+
{%- assign onsubmit_callback="sendContactMessage" -%}
|
9
|
+
{%- assign onreset_callback="resetContactForm" -%}
|
10
|
+
|
1
11
|
<div class="intro {{ include.style.header.color | default: 'color4' }}">
|
2
12
|
<h2 class="major">{{ include.header.title | default: 'Contact'}}</h2>
|
3
13
|
<p>{{ include.header.description }}</p>
|
4
14
|
</div>
|
5
15
|
<div class="inner columns divided">
|
6
16
|
<div class="span-3-25">
|
7
|
-
|
8
|
-
<div class="fields">
|
9
|
-
<div class="field half">
|
10
|
-
<label for="name">Name</label>
|
11
|
-
<input type="text" name="name" id="name" />
|
12
|
-
</div>
|
13
|
-
<div class="field half">
|
14
|
-
<label for="email">Email</label>
|
15
|
-
<input type="email" name="email" id="email" />
|
16
|
-
</div>
|
17
|
-
<div class="field">
|
18
|
-
<label for="message">Message</label>
|
19
|
-
<textarea name="message" id="message" rows="4"></textarea>
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
<ul class="actions">
|
23
|
-
<li><input type="submit" value="Send Message" class="button primary" /></li>
|
24
|
-
</ul>
|
25
|
-
</form>
|
17
|
+
{% include contact_form.html form_id=form_id name_input_id=name_input_id email_input_id=email_input_id message_input_id=message_input_id submit_input_id=submit_input_id reset_input_id=reset_input_id recaptcha_widget_id=recaptcha_widget_id onsubmit_callback=onsubmit_callback onreset_callback=onreset_callback %}
|
26
18
|
</div>
|
27
19
|
<div class="span-1-5">
|
28
20
|
{% include social.html color=include.style.icons.color %}
|
29
21
|
</div>
|
30
22
|
</div>
|
23
|
+
{% include contact_script.html form_id=form_id name_input_id=name_input_id email_input_id=email_input_id message_input_id=message_input_id submit_input_id=submit_input_id reset_input_id=reset_input_id recaptcha_widget_id=recaptcha_widget_id onsubmit_callback=onsubmit_callback onreset_callback=onreset_callback %}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<style>
|
2
|
+
body { margin: 0; padding: 0; }
|
3
|
+
#map-container { position: relative; top: 0; bottom: 0; width: 100%; };
|
4
|
+
|
5
|
+
#marker {
|
6
|
+
background-image: url('..images/rocket.png');
|
7
|
+
background-size: cover;
|
8
|
+
width: 50px;
|
9
|
+
height: 50px;
|
10
|
+
border-radius: 50%;
|
11
|
+
cursor: pointer;
|
12
|
+
}
|
13
|
+
|
14
|
+
.mapboxgl-popup {
|
15
|
+
max-width: 200px;
|
16
|
+
}
|
17
|
+
</style>
|
18
|
+
<div class="intro {{ include.style.header.joined }} {{ include.style.header.color }}">
|
19
|
+
<h2 class="major">{{ include.header.title }}</h2>
|
20
|
+
<p>{{ include.header.description }}</p>
|
21
|
+
</div>
|
22
|
+
<div id='map-container'></div>
|
23
|
+
<script src="{{ 'assets/js/mapbox-gl.js' | absolute_url }}" /></script>
|
24
|
+
<script defer>
|
25
|
+
mapboxgl.accessToken = "{{ include.data.token }}";
|
26
|
+
var map = new mapboxgl.Map({
|
27
|
+
container: "map-container",
|
28
|
+
style: "{{ include.data.style }}",
|
29
|
+
center: [{{ include.data.center.longitude | default: 0.0 }}, {{ include.data.center.latitude | default: 0.0 }}],
|
30
|
+
zoom: {{ include.data.zoom | default: 1 }}
|
31
|
+
});
|
32
|
+
|
33
|
+
var data_points = {{ include.content | strip_html }}
|
34
|
+
|
35
|
+
map.on('load', function () {
|
36
|
+
|
37
|
+
map.addLayer({
|
38
|
+
"id": "points",
|
39
|
+
"type": "symbol",
|
40
|
+
"source": {
|
41
|
+
"type": "geojson",
|
42
|
+
"data": data_points
|
43
|
+
},
|
44
|
+
"layout": {
|
45
|
+
// get the icon name from the source's "icon" property
|
46
|
+
// concatenate the name to get an icon from the style's sprite sheet
|
47
|
+
"icon-image": ["concat", ["get", "icon"], "-15"],
|
48
|
+
// get the title name from the source's "title" property
|
49
|
+
"text-field": ["get", "name"],
|
50
|
+
"text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
|
51
|
+
"text-offset": [0, 0.6],
|
52
|
+
"text-anchor": "top"
|
53
|
+
}
|
54
|
+
});
|
55
|
+
|
56
|
+
});
|
57
|
+
</script>
|
data/_includes/scripts.html
CHANGED
@@ -1,18 +1,31 @@
|
|
1
1
|
<!-- Scripts -->
|
2
|
-
<script src="{{ 'assets/js/jquery.min.js' | absolute_url }}"></script>
|
3
|
-
<script src="{{ 'assets/js/browser.min.js' | absolute_url }}"></script>
|
4
|
-
<script src="{{ 'assets/js/breakpoints.min.js' | absolute_url }}"></script>
|
5
|
-
<script src="{{ 'assets/js/main.js' | absolute_url }}"></script>
|
6
|
-
<script src="{{ 'assets/js/cookieconsent.min.js' | absolute_url }}" data-cfasync="false"></script>
|
2
|
+
<script src="{{ 'assets/js/jquery.min.js' | absolute_url }}" type="text/javascript" type="text/javascript" ></script>
|
3
|
+
<script src="{{ 'assets/js/browser.min.js' | absolute_url }}" type="text/javascript" ></script>
|
4
|
+
<script src="{{ 'assets/js/breakpoints.min.js' | absolute_url }}" type="text/javascript" ></script>
|
5
|
+
<script src="{{ 'assets/js/main.js' | absolute_url }}" type="text/javascript" ></script>
|
6
|
+
<script src="{{ 'assets/js/cookieconsent.min.js' | absolute_url }}" data-cfasync="false" type="text/javascript" ></script>
|
7
7
|
<script>
|
8
8
|
window.cookieconsent.initialise({
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
9
|
+
"palette": {
|
10
|
+
"popup": {
|
11
|
+
"background": "#252e39"
|
12
|
+
},
|
13
|
+
"button": {
|
14
|
+
"background": "#14a7d0"
|
15
|
+
}
|
16
|
+
}
|
17
17
|
});
|
18
18
|
</script>
|
19
|
+
<script src="{{ 'assets/js/simple-jekyll-search.min.js' | absolute_url }}" type="text/javascript" ></script>
|
20
|
+
<script>
|
21
|
+
SimpleJekyllSearch({
|
22
|
+
searchInput: document.getElementById('search-input'),
|
23
|
+
resultsContainer: document.getElementById('search-results'),
|
24
|
+
json: "{{ '/index.json' | absolute_url }}"
|
25
|
+
})
|
26
|
+
</script>
|
27
|
+
{%- if include.scripts -%}
|
28
|
+
{%- for file in include.scripts -%}
|
29
|
+
<script src="{{ file.url | absolute_url }}" type="text/javascript" ></script>
|
30
|
+
{%- endfor -%}
|
31
|
+
{%- endif -%}
|
data/_includes/social.html
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
<!-- Social Icons -->
|
2
2
|
<ul class="contact-icons {{ include.color | default: 'color1' }}">
|
3
|
-
{
|
3
|
+
{%- if site.twitter.url -%}
|
4
4
|
<li class="icon brands fa-twitter"><a href="{{ site.twitter.url }}" target="_blank"><span class="label">{{ site.twitter.label }}</span></a></li>
|
5
|
-
{
|
6
|
-
{
|
5
|
+
{%- endif -%}
|
6
|
+
{%- if site.facebook.url -%}
|
7
7
|
<li class="icon brands fa-facebook-f"><a href="{{ site.facebook.url }}" target="_blank"><span class="label">{{ site.facebook.label }}</span></a></li>
|
8
|
-
{
|
9
|
-
{
|
8
|
+
{%- endif -%}
|
9
|
+
{%- if site.snapchat.url -%}
|
10
10
|
<li class="icon brands fa-snapchat-ghost"><a href="{{ site.snapchat.url }}" target="_blank"><span class="label">{{ site.snapchat.label }}</span></a></li>
|
11
|
-
{
|
12
|
-
{
|
11
|
+
{%- endif -%}
|
12
|
+
{%- if site.medium.url -%}
|
13
13
|
<li class="icon brands fa-medium-m"><a href="{{ site.medium.url }}" target="_blank"><span class="label">{{ site.medium.label }}</span></a></li>
|
14
|
-
{
|
15
|
-
{
|
14
|
+
{%- endif -%}
|
15
|
+
{%- if site.instagram.url -%}
|
16
16
|
<li class="icon brands fa-instagram"><a href="{{ site.instagram.url }}" target="_blank"><span class="label">{{ site.instagram.label }}</span></a></li>
|
17
|
-
{
|
18
|
-
{
|
17
|
+
{%- endif -%}
|
18
|
+
{%- if site.pinterest.url -%}
|
19
19
|
<li class="icon brands fa-pinterest"><a href="{{ site.pinterest.url }}" target="_blank"><span class="label">{{ site.pinterest.label }}</span></a></li>
|
20
|
-
{
|
21
|
-
{
|
20
|
+
{%- endif -%}
|
21
|
+
{%- if site.500px.url -%}
|
22
22
|
<li class="icon brands fa-500px"><a href="{{ site.500px.url }}" target="_blank"><span class="label">{{ site.500px.label }}</span></a></li>
|
23
|
-
{
|
24
|
-
{
|
23
|
+
{%- endif -%}
|
24
|
+
{%- if site.gitlab.url -%}
|
25
25
|
<li class="icon brands fa-gitlab"><a href="{{ site.gitlab.url }}" target="_blank"><span class="label">{{ site.gitlab.label }}</span></a></li>
|
26
|
-
{
|
27
|
-
{
|
26
|
+
{%- endif -%}
|
27
|
+
{%- if site.github.url -%}
|
28
28
|
<li class="icon brands fa-github"><a href="{{ site.github.url }}" target="_blank"><span class="label">{{ site.github.label }}</span></a></li>
|
29
|
-
{
|
30
|
-
{
|
29
|
+
{%- endif -%}
|
30
|
+
{%- if site.slack.url -%}
|
31
31
|
<li class="icon brands fa-slack"><a href="{{ site.slack.url }}" target="_blank"><span class="label">{{ site.slack.label }}</span></a></li>
|
32
|
-
{
|
33
|
-
{
|
32
|
+
{%- endif -%}
|
33
|
+
{%- if site.linkedin.url -%}
|
34
34
|
<li class="icon brands fa-linkedin"><a href="{{ site.linkedin.url }}" target="_blank"><span class="label">{{ site.linkedin.label }}</span></a></li>
|
35
|
-
{
|
35
|
+
{%- endif -%}
|
36
36
|
</ul>
|