creek-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 +21 -0
- data/README.md +81 -0
- data/_config.yml +306 -0
- data/_data/README.md +3 -0
- data/_data/navigation/docs.yml +56 -0
- data/_data/navigation/main.yml +12 -0
- data/_data/navigation.yml +68 -0
- data/_data/ui-text.yml +2024 -0
- data/_includes/analytics-providers/custom.html +3 -0
- data/_includes/analytics-providers/google-gtag.html +9 -0
- data/_includes/analytics-providers/google-universal.html +7 -0
- data/_includes/analytics-providers/google.html +14 -0
- data/_includes/analytics.html +14 -0
- data/_includes/archive-single.html +30 -0
- data/_includes/author-profile-custom-links.html +7 -0
- data/_includes/author-profile.html +246 -0
- data/_includes/breadcrumbs.html +40 -0
- data/_includes/browser-upgrade.html +2 -0
- data/_includes/category-list.html +19 -0
- data/_includes/comment.html +22 -0
- data/_includes/comments-providers/custom.html +3 -0
- data/_includes/comments-providers/custom_scripts.html +3 -0
- data/_includes/comments-providers/discourse.html +13 -0
- data/_includes/comments-providers/disqus.html +15 -0
- data/_includes/comments-providers/facebook.html +8 -0
- data/_includes/comments-providers/giscus.html +24 -0
- data/_includes/comments-providers/scripts.html +20 -0
- data/_includes/comments-providers/staticman.html +40 -0
- data/_includes/comments-providers/staticman_v2.html +40 -0
- data/_includes/comments-providers/utterances.html +21 -0
- data/_includes/comments.html +180 -0
- data/_includes/documents-collection.html +15 -0
- data/_includes/feature_row +41 -0
- data/_includes/figure +9 -0
- data/_includes/footer/custom.html +3 -0
- data/_includes/footer.html +21 -0
- data/_includes/gallery +35 -0
- data/_includes/group-by-array +47 -0
- data/_includes/head/custom.html +15 -0
- data/_includes/head.html +25 -0
- data/_includes/masthead.html +35 -0
- data/_includes/nav_list +26 -0
- data/_includes/page__date.html +6 -0
- data/_includes/page__hero.html +55 -0
- data/_includes/page__hero_video.html +2 -0
- data/_includes/page__meta.html +31 -0
- data/_includes/page__taxonomy.html +7 -0
- data/_includes/paginator.html +69 -0
- data/_includes/post_pagination.html +14 -0
- data/_includes/posts-category.html +5 -0
- data/_includes/posts-tag.html +5 -0
- data/_includes/scripts.html +28 -0
- data/_includes/search/algolia-search-scripts.html +62 -0
- data/_includes/search/google-search-scripts.html +30 -0
- data/_includes/search/lunr-search-scripts.html +10 -0
- data/_includes/search/search_form.html +26 -0
- data/_includes/seo.html +158 -0
- data/_includes/sidebar.html +19 -0
- data/_includes/skip-links.html +7 -0
- data/_includes/social-share.html +11 -0
- data/_includes/tag-list.html +19 -0
- data/_includes/toc +7 -0
- data/_includes/toc.html +182 -0
- data/_includes/video +24 -0
- data/_layouts/archive-taxonomy.html +29 -0
- data/_layouts/archive.html +26 -0
- data/_layouts/categories.html +43 -0
- data/_layouts/category.html +10 -0
- data/_layouts/collection.html +10 -0
- data/_layouts/compress.html +10 -0
- data/_layouts/default.html +41 -0
- data/_layouts/home.html +22 -0
- data/_layouts/posts.html +30 -0
- data/_layouts/search.html +42 -0
- data/_layouts/single.html +95 -0
- data/_layouts/splash.html +22 -0
- data/_layouts/tag.html +10 -0
- data/_layouts/tags.html +43 -0
- data/_pages/404.html +26 -0
- data/_sass/minimal-mistakes/_animations.scss +21 -0
- data/_sass/minimal-mistakes/_archive.scss +463 -0
- data/_sass/minimal-mistakes/_base.scss +339 -0
- data/_sass/minimal-mistakes/_buttons.scss +97 -0
- data/_sass/minimal-mistakes/_footer.scss +85 -0
- data/_sass/minimal-mistakes/_forms.scss +359 -0
- data/_sass/minimal-mistakes/_masthead.scss +93 -0
- data/_sass/minimal-mistakes/_mixins.scss +92 -0
- data/_sass/minimal-mistakes/_navigation.scss +573 -0
- data/_sass/minimal-mistakes/_notices.scss +109 -0
- data/_sass/minimal-mistakes/_page.scss +578 -0
- data/_sass/minimal-mistakes/_print.scss +252 -0
- data/_sass/minimal-mistakes/_reset.scss +187 -0
- data/_sass/minimal-mistakes/_search.scss +132 -0
- data/_sass/minimal-mistakes/_sidebar.scss +353 -0
- data/_sass/minimal-mistakes/_syntax.scss +324 -0
- data/_sass/minimal-mistakes/_tables.scss +39 -0
- data/_sass/minimal-mistakes/_utilities.scss +593 -0
- data/_sass/minimal-mistakes/_variables.scss +173 -0
- data/_sass/minimal-mistakes/skins/_air.scss +23 -0
- data/_sass/minimal-mistakes/skins/_aqua.scss +34 -0
- data/_sass/minimal-mistakes/skins/_contrast.scss +52 -0
- data/_sass/minimal-mistakes/skins/_dark.scss +30 -0
- data/_sass/minimal-mistakes/skins/_default.scss +5 -0
- data/_sass/minimal-mistakes/skins/_dirt.scss +33 -0
- data/_sass/minimal-mistakes/skins/_mint.scss +24 -0
- data/_sass/minimal-mistakes/skins/_neon.scss +63 -0
- data/_sass/minimal-mistakes/skins/_plum.scss +70 -0
- data/_sass/minimal-mistakes/skins/_sunrise.scss +49 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +95 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +50 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +71 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -0
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -0
- data/_sass/minimal-mistakes/vendor/magnific-popup/_magnific-popup.scss +649 -0
- data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +46 -0
- data/_sass/minimal-mistakes/vendor/susy/_su.scss +4 -0
- data/_sass/minimal-mistakes/vendor/susy/_susy-prefix.scss +13 -0
- data/_sass/minimal-mistakes/vendor/susy/_susy.scss +5 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss +5 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss +7 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -0
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_api.scss +318 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss +261 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_parse.scss +163 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_settings.scss +329 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss +441 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss +213 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss +191 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss +56 -0
- data/_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss +167 -0
- data/_sass/minimal-mistakes.scss +40 -0
- data/assets/css/main.scss +9 -0
- data/assets/images/android-chrome-192x192.png +0 -0
- data/assets/images/android-chrome-512x512.png +0 -0
- data/assets/images/apple-touch-icon.png +0 -0
- data/assets/images/browserconfig.xml +9 -0
- data/assets/images/creek-logo.png +0 -0
- data/assets/images/favicon-16x16.png +0 -0
- data/assets/images/favicon-32x32.png +0 -0
- data/assets/images/favicon.ico +0 -0
- data/assets/images/mstile-150x150.png +0 -0
- data/assets/images/safari-pinned-tab.svg +48 -0
- data/assets/images/site-under-construction.png +0 -0
- data/assets/images/site.webmanifest +19 -0
- data/assets/js/_main.js +136 -0
- data/assets/js/lunr/lunr-en.js +73 -0
- data/assets/js/lunr/lunr-gr.js +526 -0
- data/assets/js/lunr/lunr-store.js +84 -0
- data/assets/js/lunr/lunr.js +3475 -0
- data/assets/js/lunr/lunr.min.js +6 -0
- data/assets/js/main.min.js +6 -0
- data/assets/js/plugins/gumshoe.js +484 -0
- data/assets/js/plugins/jquery.ba-throttle-debounce.js +252 -0
- data/assets/js/plugins/jquery.fitvids.js +82 -0
- data/assets/js/plugins/jquery.greedy-navigation.js +127 -0
- data/assets/js/plugins/jquery.magnific-popup.js +1860 -0
- data/assets/js/plugins/smooth-scroll.js +650 -0
- data/assets/js/vendor/jquery/jquery-3.6.0.js +10881 -0
- metadata +233 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
{% if paginator.total_pages > 1 %}
|
2
|
+
<nav class="pagination">
|
3
|
+
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
4
|
+
<ul>
|
5
|
+
{% comment %} Link for previous page {% endcomment %}
|
6
|
+
{% if paginator.previous_page %}
|
7
|
+
{% if paginator.previous_page == 1 %}
|
8
|
+
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
9
|
+
{% else %}
|
10
|
+
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
11
|
+
{% endif %}
|
12
|
+
{% else %}
|
13
|
+
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% comment %} First page {% endcomment %}
|
17
|
+
{% if paginator.page == 1 %}
|
18
|
+
<li><a href="#" class="disabled current">1</a></li>
|
19
|
+
{% else %}
|
20
|
+
<li><a href="{{ first_page_path }}">1</a></li>
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
{% assign page_start = 2 %}
|
24
|
+
{% if paginator.page > 4 %}
|
25
|
+
{% assign page_start = paginator.page | minus: 2 %}
|
26
|
+
{% comment %} Ellipsis for truncated links {% endcomment %}
|
27
|
+
<li><a href="#" class="disabled">…</a></li>
|
28
|
+
{% endif %}
|
29
|
+
|
30
|
+
{% assign page_end = paginator.total_pages | minus: 1 %}
|
31
|
+
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
32
|
+
{% if pages_to_end > 4 %}
|
33
|
+
{% assign page_end = paginator.page | plus: 2 %}
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
{% for index in (page_start..page_end) %}
|
37
|
+
{% if index == paginator.page %}
|
38
|
+
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
39
|
+
{% else %}
|
40
|
+
{% comment %} Distance from current page and this link {% endcomment %}
|
41
|
+
{% assign dist = paginator.page | minus: index %}
|
42
|
+
{% if dist < 0 %}
|
43
|
+
{% comment %} Distance must be a positive value {% endcomment %}
|
44
|
+
{% assign dist = 0 | minus: dist %}
|
45
|
+
{% endif %}
|
46
|
+
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
47
|
+
{% endif %}
|
48
|
+
{% endfor %}
|
49
|
+
|
50
|
+
{% comment %} Ellipsis for truncated links {% endcomment %}
|
51
|
+
{% if pages_to_end > 3 %}
|
52
|
+
<li><a href="#" class="disabled">…</a></li>
|
53
|
+
{% endif %}
|
54
|
+
|
55
|
+
{% if paginator.page == paginator.total_pages %}
|
56
|
+
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
57
|
+
{% else %}
|
58
|
+
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
59
|
+
{% endif %}
|
60
|
+
|
61
|
+
{% comment %} Link next page {% endcomment %}
|
62
|
+
{% if paginator.next_page %}
|
63
|
+
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
64
|
+
{% else %}
|
65
|
+
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
66
|
+
{% endif %}
|
67
|
+
</ul>
|
68
|
+
</nav>
|
69
|
+
{% endif %}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{% if page.previous or page.next %}
|
2
|
+
<nav class="pagination">
|
3
|
+
{% if page.previous %}
|
4
|
+
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
5
|
+
{% else %}
|
6
|
+
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
7
|
+
{% endif %}
|
8
|
+
{% if page.next %}
|
9
|
+
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
10
|
+
{% else %}
|
11
|
+
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
12
|
+
{% endif %}
|
13
|
+
</nav>
|
14
|
+
{% endif %}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{% if site.footer_scripts %}
|
2
|
+
{% for script in site.footer_scripts %}
|
3
|
+
<script src="{{ script | relative_url }}"></script>
|
4
|
+
{% endfor %}
|
5
|
+
{% else %}
|
6
|
+
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
7
|
+
{% endif %}
|
8
|
+
|
9
|
+
{% if site.search == true or page.layout == "search" %}
|
10
|
+
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
11
|
+
{%- case search_provider -%}
|
12
|
+
{%- when "lunr" -%}
|
13
|
+
{% include_cached search/lunr-search-scripts.html %}
|
14
|
+
{%- when "google" -%}
|
15
|
+
{% include_cached search/google-search-scripts.html %}
|
16
|
+
{%- when "algolia" -%}
|
17
|
+
{% include_cached search/algolia-search-scripts.html %}
|
18
|
+
{%- endcase -%}
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
{% include analytics.html %}
|
22
|
+
{% include /comments-providers/scripts.html %}
|
23
|
+
|
24
|
+
{% if site.after_footer_scripts %}
|
25
|
+
{% for script in site.after_footer_scripts %}
|
26
|
+
<script src="{{ script | relative_url }}"></script>
|
27
|
+
{% endfor %}
|
28
|
+
{% endif %}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<!-- Including InstantSearch.js library and styling -->
|
2
|
+
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
|
3
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
|
4
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
|
5
|
+
|
6
|
+
<script>
|
7
|
+
// Instanciating InstantSearch.js with Algolia credentials
|
8
|
+
const search = instantsearch({
|
9
|
+
appId: '{{ site.algolia.application_id }}',
|
10
|
+
apiKey: '{{ site.algolia.search_only_api_key }}',
|
11
|
+
indexName: '{{ site.algolia.index_name }}',
|
12
|
+
searchParameters: {
|
13
|
+
restrictSearchableAttributes: [
|
14
|
+
'title',
|
15
|
+
'content'
|
16
|
+
]
|
17
|
+
}
|
18
|
+
});
|
19
|
+
|
20
|
+
const hitTemplate = function(hit) {
|
21
|
+
const url = hit.url;
|
22
|
+
const hightlight = hit._highlightResult;
|
23
|
+
const title = hightlight.title && hightlight.title.value || "";
|
24
|
+
const content = hightlight.html && hightlight.html.value || "";
|
25
|
+
|
26
|
+
return `
|
27
|
+
<div class="list__item">
|
28
|
+
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
29
|
+
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
30
|
+
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
31
|
+
</article>
|
32
|
+
</div>
|
33
|
+
`;
|
34
|
+
}
|
35
|
+
|
36
|
+
// Adding searchbar and results widgets
|
37
|
+
search.addWidget(
|
38
|
+
instantsearch.widgets.searchBox({
|
39
|
+
container: '.search-searchbar',
|
40
|
+
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
41
|
+
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
42
|
+
})
|
43
|
+
);
|
44
|
+
search.addWidget(
|
45
|
+
instantsearch.widgets.hits({
|
46
|
+
container: '.search-hits',
|
47
|
+
templates: {
|
48
|
+
item: hitTemplate,
|
49
|
+
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
|
50
|
+
}
|
51
|
+
})
|
52
|
+
);
|
53
|
+
|
54
|
+
// Starting the search only when toggle is clicked
|
55
|
+
$(document).ready(function () {
|
56
|
+
$(".search__toggle").on("click", function() {
|
57
|
+
if(!search.started) {
|
58
|
+
search.start();
|
59
|
+
}
|
60
|
+
});
|
61
|
+
});
|
62
|
+
</script>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script>
|
2
|
+
(function () {
|
3
|
+
var cx = '{{ site.google.search_engine_id }}';
|
4
|
+
var gcse = document.createElement('script');
|
5
|
+
gcse.type = 'text/javascript';
|
6
|
+
gcse.async = true;
|
7
|
+
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
|
8
|
+
var s = document.getElementsByTagName('script')[0];
|
9
|
+
s.parentNode.insertBefore(gcse, s);
|
10
|
+
})();
|
11
|
+
|
12
|
+
function googleCustomSearchExecute() {
|
13
|
+
var input = document.getElementById('cse-search-input-box-id');
|
14
|
+
var element = google.search.cse.element.getElement('searchresults-only0');
|
15
|
+
if (input.value == '') {
|
16
|
+
element.clearAllResults();
|
17
|
+
} else {
|
18
|
+
element.execute(input.value);
|
19
|
+
}
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
|
23
|
+
{% if site.google.instant_search %}
|
24
|
+
$(document).ready(function () {
|
25
|
+
$('input#cse-search-input-box-id').on('keyup', function () {
|
26
|
+
googleCustomSearchExecute();
|
27
|
+
});
|
28
|
+
});
|
29
|
+
{% endif %}
|
30
|
+
</script>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{% assign lang = site.locale | slice: 0,2 | default: "en" %}
|
2
|
+
{% case lang %}
|
3
|
+
{% when "gr" %}
|
4
|
+
{% assign lang = "gr" %}
|
5
|
+
{% else %}
|
6
|
+
{% assign lang = "en" %}
|
7
|
+
{% endcase %}
|
8
|
+
<script src="{{ '/assets/js/lunr/lunr.min.js' | relative_url }}"></script>
|
9
|
+
<script src="{{ '/assets/js/lunr/lunr-store.js' | relative_url }}"></script>
|
10
|
+
<script src="{{ '/assets/js/lunr/lunr-' | append: lang | append: '.js' | relative_url }}"></script>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="search-content__inner-wrap">
|
2
|
+
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
3
|
+
{%- case search_provider -%}
|
4
|
+
{%- when "lunr" -%}
|
5
|
+
<form class="search-content__form" onkeydown="return event.key != 'Enter';" role="search">
|
6
|
+
<label class="sr-only" for="search">
|
7
|
+
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
8
|
+
</label>
|
9
|
+
<input type="search" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
10
|
+
</form>
|
11
|
+
<div id="results" class="results"></div>
|
12
|
+
{%- when "google" -%}
|
13
|
+
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id" role="search">
|
14
|
+
<label class="sr-only" for="cse-search-input-box-id">
|
15
|
+
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
16
|
+
</label>
|
17
|
+
<input type="search" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
18
|
+
</form>
|
19
|
+
<div id="results" class="results">
|
20
|
+
<gcse:searchresults-only></gcse:searchresults-only>
|
21
|
+
</div>
|
22
|
+
{%- when "algolia" -%}
|
23
|
+
<div class="search-searchbar"></div>
|
24
|
+
<div class="search-hits"></div>
|
25
|
+
{%- endcase -%}
|
26
|
+
</div>
|
data/_includes/seo.html
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
<!-- begin _includes/seo.html -->
|
2
|
+
{%- if site.url -%}
|
3
|
+
{%- assign seo_url = site.url | append: site.baseurl -%}
|
4
|
+
{%- endif -%}
|
5
|
+
{%- assign seo_url = seo_url | default: site.github.url -%}
|
6
|
+
|
7
|
+
{% assign title_separator = site.title_separator | default: '-' | replace: '|', '|' %}
|
8
|
+
|
9
|
+
{%- if page.title -%}
|
10
|
+
{%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%}
|
11
|
+
{%- endif -%}
|
12
|
+
|
13
|
+
{%- if seo_title -%}
|
14
|
+
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
15
|
+
{%- endif -%}
|
16
|
+
|
17
|
+
{% if page.canonical_url %}
|
18
|
+
{%- assign canonical_url = page.canonical_url %}
|
19
|
+
{% else %}
|
20
|
+
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
24
|
+
{%- if seo_description -%}
|
25
|
+
{%- assign seo_description = seo_description | markdownify | strip_html | newline_to_br | strip_newlines | replace: '<br />', ' ' | escape_once | strip -%}
|
26
|
+
{%- endif -%}
|
27
|
+
|
28
|
+
{%- assign author = page.author | default: page.authors[0] | default: site.author -%}
|
29
|
+
{%- assign author = site.data.authors[author] | default: author -%}
|
30
|
+
|
31
|
+
{%- if author.twitter -%}
|
32
|
+
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
33
|
+
{%- endif -%}
|
34
|
+
|
35
|
+
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
|
36
|
+
{%- assign page_large_image = page_large_image | escape -%}
|
37
|
+
|
38
|
+
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
|
39
|
+
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
40
|
+
|
41
|
+
{%- assign site_og_image = site.og_image | absolute_url -%}
|
42
|
+
{%- assign site_og_image = site_og_image | escape -%}
|
43
|
+
|
44
|
+
{%- if page.date -%}
|
45
|
+
{%- assign og_type = "article" -%}
|
46
|
+
{%- else -%}
|
47
|
+
{%- assign og_type = "website" -%}
|
48
|
+
{%- endif -%}
|
49
|
+
|
50
|
+
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
51
|
+
<meta name="description" content="{{ seo_description }}">
|
52
|
+
|
53
|
+
{% if author.name %}
|
54
|
+
<meta name="author" content="{{ author.name | default: author }}">
|
55
|
+
{% if og_type == "article" %}
|
56
|
+
<meta property="article:author" content="{{ author.name | default: author }}">
|
57
|
+
{% endif %}
|
58
|
+
{% endif %}
|
59
|
+
|
60
|
+
<meta property="og:type" content="{{ og_type }}">
|
61
|
+
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
62
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
63
|
+
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
64
|
+
<meta property="og:url" content="{{ canonical_url }}">
|
65
|
+
|
66
|
+
{% if seo_description %}
|
67
|
+
<meta property="og:description" content="{{ seo_description }}">
|
68
|
+
{% endif %}
|
69
|
+
|
70
|
+
{% if page_large_image %}
|
71
|
+
<meta property="og:image" content="{{ page_large_image }}">
|
72
|
+
{% elsif page_teaser_image %}
|
73
|
+
<meta property="og:image" content="{{ page_teaser_image }}">
|
74
|
+
{% endif %}
|
75
|
+
|
76
|
+
{% if site.twitter.username %}
|
77
|
+
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
78
|
+
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
79
|
+
<meta name="twitter:description" content="{{ seo_description }}">
|
80
|
+
<meta name="twitter:url" content="{{ canonical_url }}">
|
81
|
+
|
82
|
+
{% if page_large_image %}
|
83
|
+
<meta name="twitter:card" content="summary_large_image">
|
84
|
+
<meta name="twitter:image" content="{{ page_large_image }}">
|
85
|
+
{% else %}
|
86
|
+
<meta name="twitter:card" content="summary">
|
87
|
+
{% if page_teaser_image %}
|
88
|
+
<meta name="twitter:image" content="{{ page_teaser_image }}">
|
89
|
+
{% endif %}
|
90
|
+
{% endif %}
|
91
|
+
|
92
|
+
{% if author_twitter %}
|
93
|
+
<meta name="twitter:creator" content="@{{ author_twitter }}">
|
94
|
+
{% endif %}
|
95
|
+
{% endif %}
|
96
|
+
|
97
|
+
{% if page.date %}
|
98
|
+
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
|
99
|
+
{% endif %}
|
100
|
+
|
101
|
+
{% if og_type == "article" and page.last_modified_at %}
|
102
|
+
<meta property="article:modified_time" content="{{ page.last_modified_at | date_to_xmlschema }}">
|
103
|
+
{% endif %}
|
104
|
+
|
105
|
+
{% if site.facebook %}
|
106
|
+
{% if site.facebook.publisher %}
|
107
|
+
<meta property="article:publisher" content="{{ site.facebook.publisher }}">
|
108
|
+
{% endif %}
|
109
|
+
|
110
|
+
{% if site.facebook.app_id %}
|
111
|
+
<meta property="fb:app_id" content="{{ site.facebook.app_id }}">
|
112
|
+
{% endif %}
|
113
|
+
{% endif %}
|
114
|
+
|
115
|
+
<link rel="canonical" href="{{ canonical_url }}">
|
116
|
+
|
117
|
+
{% if paginator.previous_page %}
|
118
|
+
<link rel="prev" href="{{ paginator.previous_page_path | absolute_url }}">
|
119
|
+
{% endif %}
|
120
|
+
{% if paginator.next_page %}
|
121
|
+
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
122
|
+
{% endif %}
|
123
|
+
|
124
|
+
<script type="application/ld+json">
|
125
|
+
{
|
126
|
+
"@context": "https://schema.org",
|
127
|
+
{% if site.social.type == "Organization" %}
|
128
|
+
"@type": "Organization",
|
129
|
+
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
130
|
+
"logo": {{ site_og_image | jsonify }}{% endif %}
|
131
|
+
{% else %}
|
132
|
+
"@type": "Person",
|
133
|
+
"name": {{ site.social.name | default: site.name | jsonify }},
|
134
|
+
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
|
135
|
+
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
136
|
+
{% endif %}
|
137
|
+
}
|
138
|
+
</script>
|
139
|
+
|
140
|
+
{% if site.google_site_verification %}
|
141
|
+
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
142
|
+
{% endif %}
|
143
|
+
{% if site.bing_site_verification %}
|
144
|
+
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
|
145
|
+
{% endif %}
|
146
|
+
{% if site.alexa_site_verification %}
|
147
|
+
<meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
|
148
|
+
{% endif %}
|
149
|
+
{% if site.yandex_site_verification %}
|
150
|
+
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
|
151
|
+
{% endif %}
|
152
|
+
{% if site.naver_site_verification %}
|
153
|
+
<meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
|
154
|
+
{% endif %}
|
155
|
+
{% if site.baidu_site_verification %}
|
156
|
+
<meta name="baidu-site-verification" content="{{ site.baidu_site_verification }}">
|
157
|
+
{% endif %}
|
158
|
+
<!-- end _includes/seo.html -->
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% if page.author_profile or layout.author_profile or page.sidebar %}
|
2
|
+
<div class="sidebar sticky">
|
3
|
+
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
|
4
|
+
{% if page.sidebar %}
|
5
|
+
{% for s in page.sidebar %}
|
6
|
+
{% if s.image %}
|
7
|
+
<img src="{{ s.image | relative_url }}"
|
8
|
+
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
9
|
+
{% endif %}
|
10
|
+
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
11
|
+
{% if s.text %}{{ s.text | markdownify }}{% endif %}
|
12
|
+
{% if s.nav %}{% include nav_list nav=s.nav %}{% endif %}
|
13
|
+
{% endfor %}
|
14
|
+
{% if page.sidebar.nav %}
|
15
|
+
{% include nav_list nav=page.sidebar.nav %}
|
16
|
+
{% endif %}
|
17
|
+
{% endif %}
|
18
|
+
</div>
|
19
|
+
{% endif %}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<nav class="skip-links">
|
2
|
+
<ul>
|
3
|
+
<li><a href="#site-nav" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_primary_nav | default: 'Skip to primary navigation' }}</a></li>
|
4
|
+
<li><a href="#main" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_content | default: 'Skip to content' }}</a></li>
|
5
|
+
<li><a href="#footer" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_footer | default: 'Skip to footer' }}</a></li>
|
6
|
+
</ul>
|
7
|
+
</nav>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<section class="page__share">
|
2
|
+
{% if site.data.ui-text[site.locale].share_on_label %}
|
3
|
+
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
4
|
+
{% endif %}
|
5
|
+
|
6
|
+
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
|
7
|
+
|
8
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
|
9
|
+
|
10
|
+
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
|
11
|
+
</section>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% case site.tag_archive.type %}
|
2
|
+
{% when "liquid" %}
|
3
|
+
{% assign path_type = "#" %}
|
4
|
+
{% when "jekyll-archives" %}
|
5
|
+
{% assign path_type = nil %}
|
6
|
+
{% endcase %}
|
7
|
+
|
8
|
+
{% if site.tag_archive.path %}
|
9
|
+
{% assign tags_sorted = page.tags | sort_natural %}
|
10
|
+
|
11
|
+
<p class="page__taxonomy">
|
12
|
+
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
13
|
+
<span itemprop="keywords">
|
14
|
+
{% for tag_word in tags_sorted %}
|
15
|
+
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
16
|
+
{% endfor %}
|
17
|
+
</span>
|
18
|
+
</p>
|
19
|
+
{% endif %}
|
data/_includes/toc
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
<aside class="sidebar__right">
|
2
|
+
<nav class="toc" markdown="1">
|
3
|
+
<header><h4 class="nav__title"><i class="fas fa-{{ include.icon | default: 'file-alt' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
|
4
|
+
* Auto generated table of contents
|
5
|
+
{:toc .toc__menu}
|
6
|
+
</nav>
|
7
|
+
</aside>
|