benimal-mistakes-jekyll 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1095 -0
  3. data/LICENSE.txt +63 -0
  4. data/README.md +245 -0
  5. data/_data/navigation.yml +12 -0
  6. data/_data/ui-text.yml +1079 -0
  7. data/_includes/analytics-providers/custom.html +3 -0
  8. data/_includes/analytics-providers/google-gtag.html +9 -0
  9. data/_includes/analytics-providers/google-universal.html +10 -0
  10. data/_includes/analytics-providers/google.html +14 -0
  11. data/_includes/analytics.html +14 -0
  12. data/_includes/archive-single.html +38 -0
  13. data/_includes/author-profile-custom-links.html +7 -0
  14. data/_includes/author-profile.html +263 -0
  15. data/_includes/base_path +5 -0
  16. data/_includes/breadcrumbs.html +39 -0
  17. data/_includes/browser-upgrade.html +3 -0
  18. data/_includes/category-list.html +26 -0
  19. data/_includes/comment.html +22 -0
  20. data/_includes/comments-providers/custom.html +3 -0
  21. data/_includes/comments-providers/discourse.html +13 -0
  22. data/_includes/comments-providers/disqus.html +15 -0
  23. data/_includes/comments-providers/facebook.html +8 -0
  24. data/_includes/comments-providers/google-plus.html +2 -0
  25. data/_includes/comments-providers/scripts.html +18 -0
  26. data/_includes/comments-providers/staticman.html +42 -0
  27. data/_includes/comments-providers/staticman_v2.html +42 -0
  28. data/_includes/comments.html +171 -0
  29. data/_includes/documents-collection.html +19 -0
  30. data/_includes/feature_row +53 -0
  31. data/_includes/figure +12 -0
  32. data/_includes/footer.html +25 -0
  33. data/_includes/footer/custom.html +3 -0
  34. data/_includes/gallery +47 -0
  35. data/_includes/group-by-array +47 -0
  36. data/_includes/head.html +43 -0
  37. data/_includes/head/custom.html +5 -0
  38. data/_includes/masthead.html +33 -0
  39. data/_includes/nav_list +47 -0
  40. data/_includes/page__hero.html +61 -0
  41. data/_includes/page__hero_video.html +4 -0
  42. data/_includes/page__taxonomy.html +7 -0
  43. data/_includes/paginator.html +69 -0
  44. data/_includes/post_pagination.html +14 -0
  45. data/_includes/posts-category.html +3 -0
  46. data/_includes/posts-tag.html +3 -0
  47. data/_includes/read-time.html +15 -0
  48. data/_includes/schedule.html +57 -0
  49. data/_includes/scripts.html +28 -0
  50. data/_includes/search/algolia-search-scripts.html +54 -0
  51. data/_includes/search/google-search-scripts.html +30 -0
  52. data/_includes/search/lunr-search-scripts.html +10 -0
  53. data/_includes/search/search_form.html +18 -0
  54. data/_includes/seo.html +164 -0
  55. data/_includes/sidebar.html +23 -0
  56. data/_includes/social-share.html +13 -0
  57. data/_includes/tag-list.html +26 -0
  58. data/_includes/toc +7 -0
  59. data/_includes/toc.html +75 -0
  60. data/_includes/two-day-schedule.html +71 -0
  61. data/_includes/video +11 -0
  62. data/_layouts/archive-taxonomy.html +15 -0
  63. data/_layouts/archive.html +26 -0
  64. data/_layouts/categories.html +42 -0
  65. data/_layouts/category.html +9 -0
  66. data/_layouts/collection.html +9 -0
  67. data/_layouts/compress.html +10 -0
  68. data/_layouts/default.html +42 -0
  69. data/_layouts/home.html +11 -0
  70. data/_layouts/posts.html +29 -0
  71. data/_layouts/search.html +42 -0
  72. data/_layouts/single.html +92 -0
  73. data/_layouts/splash.html +22 -0
  74. data/_layouts/tag.html +9 -0
  75. data/_layouts/tags.html +42 -0
  76. data/_sass/minimal-mistakes.scss +40 -0
  77. data/_sass/minimal-mistakes/_animations.scss +21 -0
  78. data/_sass/minimal-mistakes/_archive.scss +362 -0
  79. data/_sass/minimal-mistakes/_base.scss +358 -0
  80. data/_sass/minimal-mistakes/_buttons.scss +98 -0
  81. data/_sass/minimal-mistakes/_footer.scss +91 -0
  82. data/_sass/minimal-mistakes/_forms.scss +393 -0
  83. data/_sass/minimal-mistakes/_masthead.scss +83 -0
  84. data/_sass/minimal-mistakes/_mixins.scss +92 -0
  85. data/_sass/minimal-mistakes/_navigation.scss +544 -0
  86. data/_sass/minimal-mistakes/_notices.scss +100 -0
  87. data/_sass/minimal-mistakes/_page.scss +520 -0
  88. data/_sass/minimal-mistakes/_print.scss +252 -0
  89. data/_sass/minimal-mistakes/_reset.scss +187 -0
  90. data/_sass/minimal-mistakes/_search.scss +125 -0
  91. data/_sass/minimal-mistakes/_sidebar.scss +310 -0
  92. data/_sass/minimal-mistakes/_syntax.scss +324 -0
  93. data/_sass/minimal-mistakes/_tables.scss +37 -0
  94. data/_sass/minimal-mistakes/_utilities.scss +524 -0
  95. data/_sass/minimal-mistakes/_variables.scss +154 -0
  96. data/_sass/minimal-mistakes/skins/_air.scss +23 -0
  97. data/_sass/minimal-mistakes/skins/_aqua.scss +30 -0
  98. data/_sass/minimal-mistakes/skins/_contrast.scss +51 -0
  99. data/_sass/minimal-mistakes/skins/_dark.scss +42 -0
  100. data/_sass/minimal-mistakes/skins/_default.scss +5 -0
  101. data/_sass/minimal-mistakes/skins/_dirt.scss +33 -0
  102. data/_sass/minimal-mistakes/skins/_mint.scss +23 -0
  103. data/_sass/minimal-mistakes/skins/_neon.scss +53 -0
  104. data/_sass/minimal-mistakes/skins/_plum.scss +60 -0
  105. data/_sass/minimal-mistakes/skins/_sunrise.scss +44 -0
  106. data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -0
  107. data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +95 -0
  108. data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -0
  109. data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +50 -0
  110. data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -0
  111. data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -0
  112. data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -0
  113. data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +71 -0
  114. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -0
  115. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -0
  116. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -0
  117. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -0
  118. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -0
  119. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
  120. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -0
  121. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
  122. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
  123. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -0
  124. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -0
  125. data/_sass/minimal-mistakes/vendor/magnific-popup/_magnific-popup.scss +649 -0
  126. data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +46 -0
  127. data/_sass/minimal-mistakes/vendor/susy/_su.scss +4 -0
  128. data/_sass/minimal-mistakes/vendor/susy/_susy-prefix.scss +13 -0
  129. data/_sass/minimal-mistakes/vendor/susy/_susy.scss +5 -0
  130. data/_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss +5 -0
  131. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss +7 -0
  132. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -0
  133. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -0
  134. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -0
  135. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -0
  136. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -0
  137. data/_sass/minimal-mistakes/vendor/susy/susy/_api.scss +318 -0
  138. data/_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss +261 -0
  139. data/_sass/minimal-mistakes/vendor/susy/susy/_parse.scss +163 -0
  140. data/_sass/minimal-mistakes/vendor/susy/susy/_settings.scss +329 -0
  141. data/_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss +441 -0
  142. data/_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss +213 -0
  143. data/_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss +191 -0
  144. data/_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss +56 -0
  145. data/_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss +167 -0
  146. data/assets/css/main.scss +8 -0
  147. data/assets/js/_main.js +106 -0
  148. data/assets/js/lunr/lunr-en.js +75 -0
  149. data/assets/js/lunr/lunr-gr.js +528 -0
  150. data/assets/js/lunr/lunr-store.js +52 -0
  151. data/assets/js/lunr/lunr.js +2977 -0
  152. data/assets/js/lunr/lunr.min.js +6 -0
  153. data/assets/js/main.min.js +9 -0
  154. data/assets/js/plugins/jquery.fitvids.js +82 -0
  155. data/assets/js/plugins/jquery.greedy-navigation.js +83 -0
  156. data/assets/js/plugins/jquery.magnific-popup.js +1860 -0
  157. data/assets/js/plugins/jquery.smooth-scroll.min.js +9 -0
  158. data/assets/js/vendor/jquery/jquery-3.3.1.min.js +2 -0
  159. metadata +327 -0
@@ -0,0 +1,28 @@
1
+ {% if site.footer_scripts %}
2
+ {% for script in site.footer_scripts %}
3
+ {% if script contains "://" %}
4
+ {% capture script_path %}{{ script }}{% endcapture %}
5
+ {% else %}
6
+ {% capture script_path %}{{ script | relative_url }}{% endcapture %}
7
+ {% endif %}
8
+ <script src="{{ script_path }}"></script>
9
+ {% endfor %}
10
+ {% else %}
11
+ <script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
12
+ <script src="https://use.fontawesome.com/releases/v5.1.0/js/all.js"></script>
13
+ {% endif %}
14
+
15
+ {% if site.search == true or page.layout == "search" %}
16
+ {%- assign search_provider = site.search_provider | default: "lunr" -%}
17
+ {%- case search_provider -%}
18
+ {%- when "lunr" -%}
19
+ {% include search/lunr-search-scripts.html %}
20
+ {%- when "google" -%}
21
+ {% include search/google-search-scripts.html %}
22
+ {%- when "algolia" -%}
23
+ {% include search/algolia-search-scripts.html %}
24
+ {%- endcase -%}
25
+ {% endif %}
26
+
27
+ {% include analytics.html %}
28
+ {% include /comments-providers/scripts.html %}
@@ -0,0 +1,54 @@
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" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
4
+ <link rel="stylesheet" type="text/css" 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 title = hit._highlightResult.title.value;
23
+ const content = hit._highlightResult.html.value;
24
+
25
+ return `
26
+ <div class="list__item">
27
+ <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
28
+ <h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
29
+ <div class="archive__item-excerpt" itemprop="description">${content}</div>
30
+ </article>
31
+ </div>
32
+ `;
33
+ }
34
+
35
+ // Adding searchbar and results widgets
36
+ search.addWidget(
37
+ instantsearch.widgets.searchBox({
38
+ container: '.search-searchbar',
39
+ {% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
40
+ placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
41
+ })
42
+ );
43
+ search.addWidget(
44
+ instantsearch.widgets.hits({
45
+ container: '.search-hits',
46
+ templates: {
47
+ item: hitTemplate
48
+ }
49
+ })
50
+ );
51
+
52
+ // Starting the search
53
+ search.start();
54
+ </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,18 @@
1
+ <div class="search-content__inner-wrap">
2
+ {%- assign search_provider = site.search_provider | default: "lunr" -%}
3
+ {%- case search_provider -%}
4
+ {%- when "lunr" -%}
5
+ <input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
6
+ <div id="results" class="results"></div>
7
+ {%- when "google" -%}
8
+ <form onsubmit="return executeQuery();" id="cse-search-box-form-id">
9
+ <input type="text" 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...' }}" />
10
+ </form>
11
+ <div id="results" class="results">
12
+ <gcse:searchresults-only></gcse:searchresults-only>
13
+ </div>
14
+ {%- when "algolia" -%}
15
+ <div class="search-searchbar"></div>
16
+ <div class="search-hits"></div>
17
+ {%- endcase -%}
18
+ </div>
@@ -0,0 +1,164 @@
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: '|', '&#124;' %}
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
+ {%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
18
+
19
+ {%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
20
+ {%- if seo_description -%}
21
+ {%- assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once -%}
22
+ {%- endif -%}
23
+
24
+ {%- assign author = page.author | default: page.authors[0] | default: site:author -%}
25
+ {%- assign author = site.data.authors[author] | default: author -%}
26
+
27
+ {%- if author.twitter -%}
28
+ {%- assign author_twitter = author.twitter | replace: "@", "" -%}
29
+ {%- endif -%}
30
+
31
+ {%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image -%}
32
+ {%- unless page_large_image contains '://' -%}
33
+ {%- assign page_large_image = page_large_image | absolute_url -%}
34
+ {%- endunless -%}
35
+ {%- assign page_large_image = page_large_image | escape -%}
36
+
37
+ {%- assign page_teaser_image = page.header.teaser | default: site.og_image -%}
38
+ {%- unless page_teaser_image contains '://' -%}
39
+ {%- assign page_teaser_image = page_teaser_image | absolute_url -%}
40
+ {%- endunless -%}
41
+ {%- assign page_teaser_image = page_teaser_image | escape -%}
42
+
43
+ {%- assign site_og_image = site.og_image -%}
44
+ {%- unless site_og_image contains '://' -%}
45
+ {%- assign site_og_image = site_og_image | absolute_url -%}
46
+ {%- endunless -%}
47
+ {%- assign site_og_image = site_og_image | escape -%}
48
+
49
+ {%- if page.date -%}
50
+ {%- assign og_type = "article" -%}
51
+ {%- else -%}
52
+ {%- assign og_type = "website" -%}
53
+ {%- endif -%}
54
+
55
+ <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>
56
+ <meta name="description" content="{{ seo_description }}">
57
+
58
+ {% if author.name %}
59
+ <meta name="author" content="{{ author.name | default: author }}">
60
+ {% endif %}
61
+
62
+ <meta property="og:type" content="{{ og_type }}">
63
+ <meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
64
+ <meta property="og:site_name" content="{{ site.title }}">
65
+ <meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
66
+ <meta property="og:url" content="{{ canonical_url }}">
67
+
68
+ {% if page.excerpt %}
69
+ <meta property="og:description" content="{{ seo_description }}">
70
+ {% endif %}
71
+
72
+ {% if page_large_image %}
73
+ <meta property="og:image" content="{{ page_large_image }}">
74
+ {% elsif page_teaser_image %}
75
+ <meta property="og:image" content="{{ page_teaser_image }}">
76
+ {% endif %}
77
+
78
+ {% if site.twitter.username %}
79
+ <meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
80
+ <meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
81
+ <meta name="twitter:description" content="{{ seo_description }}">
82
+ <meta name="twitter:url" content="{{ canonical_url }}">
83
+
84
+ {% if page_large_image %}
85
+ <meta name="twitter:card" content="summary_large_image">
86
+ <meta name="twitter:image" content="{{ page_large_image }}">
87
+ {% else %}
88
+ <meta name="twitter:card" content="summary">
89
+ {% if page_teaser_image %}
90
+ <meta name="twitter:image" content="{{ page_teaser_image }}">
91
+ {% endif %}
92
+ {% endif %}
93
+
94
+ {% if author_twitter %}
95
+ <meta name="twitter:creator" content="@{{ author_twitter }}">
96
+ {% endif %}
97
+ {% endif %}
98
+
99
+ {% if page.date %}
100
+ <meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
101
+ {% endif %}
102
+
103
+ {% if og_type == "article" and page.last_modified_at %}
104
+ <meta property="article:modified_time" content="{{ page.last_modified_at | date_to_xmlschema }}">
105
+ {% endif %}
106
+
107
+ {% if site.facebook %}
108
+ {% if site.facebook.publisher %}
109
+ <meta property="article:publisher" content="{{ site.facebook.publisher }}">
110
+ {% endif %}
111
+
112
+ {% if site.facebook.app_id %}
113
+ <meta property="fb:app_id" content="{{ site.facebook.app_id }}">
114
+ {% endif %}
115
+ {% endif %}
116
+
117
+ <link rel="canonical" href="{{ canonical_url }}">
118
+
119
+ {% if paginator.previous_page %}
120
+ <link rel="prev" href="{{ paginator.previous_page_path | absolute_url }}">
121
+ {% endif %}
122
+ {% if paginator.next_page %}
123
+ <link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
124
+ {% endif %}
125
+
126
+ {% if site.og_image %}
127
+ <script type="application/ld+json">
128
+ {
129
+ "@context": "http://schema.org",
130
+ "@type": "Organization",
131
+ "url": {{ seo_url | jsonify }},
132
+ "logo": {{ site_og_image | jsonify }}
133
+ }
134
+ </script>
135
+ {% endif %}
136
+
137
+ {% if site.social %}
138
+ <script type="application/ld+json">
139
+ {
140
+ "@context": "http://schema.org",
141
+ "@type": "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
142
+ "name": {{ site.social.name | default: site.name | jsonify }},
143
+ "url": {{ seo_url | jsonify }},
144
+ "sameAs": {{ site.social.links | jsonify }}
145
+ }
146
+ </script>
147
+ {% endif %}
148
+
149
+ {% if site.google_site_verification %}
150
+ <meta name="google-site-verification" content="{{ site.google_site_verification }}" />
151
+ {% endif %}
152
+ {% if site.bing_site_verification %}
153
+ <meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
154
+ {% endif %}
155
+ {% if site.alexa_site_verification %}
156
+ <meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
157
+ {% endif %}
158
+ {% if site.yandex_site_verification %}
159
+ <meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
160
+ {% endif %}
161
+ {% if site.naver_site_verification %}
162
+ <meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
163
+ {% endif %}
164
+ <!-- end _includes/seo.html -->
@@ -0,0 +1,23 @@
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=
8
+ {% if s.image contains "://" %}
9
+ "{{ s.image }}"
10
+ {% else %}
11
+ "{{ s.image | relative_url }}"
12
+ {% endif %}
13
+ alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
14
+ {% endif %}
15
+ {% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
16
+ {% if s.text %}{{ s.text | markdownify }}{% endif %}
17
+ {% endfor %}
18
+ {% if page.sidebar.nav %}
19
+ {% include nav_list nav=page.sidebar.nav %}
20
+ {% endif %}
21
+ {% endif %}
22
+ </div>
23
+ {% endif %}
@@ -0,0 +1,13 @@
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://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" 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' }} Google Plus"><i class="fab fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
11
+
12
+ <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>
13
+ </section>
@@ -0,0 +1,26 @@
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
+ {% comment %}
10
+ <!-- Sort alphabetically regardless of case e.g. a B c d E -->
11
+ <!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
12
+ {% endcomment %}
13
+ {% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
14
+ {% assign tag_hashes = page_tags | split: ',' | sort %}
15
+
16
+ <p class="page__taxonomy">
17
+ <strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
18
+ <span itemprop="keywords">
19
+ {% for hash in tag_hashes %}
20
+ {% assign keyValue = hash | split: '#' %}
21
+ {% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
22
+ <a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
23
+ {% endfor %}
24
+ </span>
25
+ </p>
26
+ {% 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>
@@ -0,0 +1,75 @@
1
+ {% capture tocWorkspace %}
2
+ {%- comment -%}
3
+ Version 1.0.2
4
+
5
+ "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
6
+
7
+ Usage:
8
+ {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
9
+
10
+ Parameters:
11
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
12
+
13
+ Optional Parameters:
14
+ * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
15
+ * class (string) : '' - a CSS class assigned to the TOC
16
+ * id (string) : '' - an ID to assigned to the TOC
17
+ * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
18
+ * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
19
+
20
+ Output:
21
+ An unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
22
+ {%- endcomment -%}
23
+
24
+ {% capture my_toc %}{% endcapture %}
25
+ {% assign minHeader = include.h_min | default: 1 %}
26
+ {% assign maxHeader = include.h_max | default: 6 %}
27
+ {% assign nodes = include.html | split: '<h' %}
28
+ {% assign firstHeader = true %}
29
+
30
+ {% for node in nodes %}
31
+ {% if node == "" %}
32
+ {% continue %}
33
+ {% endif %}
34
+
35
+ {% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
36
+
37
+ {% if headerLevel < minHeader or headerLevel > maxHeader %}
38
+ {% continue %}
39
+ {% endif %}
40
+
41
+ {% if firstHeader %}
42
+ {% assign firstHeader = false %}
43
+ {% assign minHeader = headerLevel %}
44
+ {% endif %}
45
+
46
+ {% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
47
+ {% assign _workspace = node | split: '</h' %}
48
+
49
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
50
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
51
+ {% assign html_id = _idWorkspace[0] %}
52
+
53
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
54
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
55
+
56
+ {% assign space = '' %}
57
+ {% for i in (1..indentAmount) %}
58
+ {% assign space = space | prepend: ' ' %}
59
+ {% endfor %}
60
+
61
+ {% capture my_toc %}{{ my_toc }}
62
+ {{ space }}- [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
63
+
64
+ {% endfor %}
65
+
66
+ {% if include.class %}
67
+ {% capture my_toc %}{:.{{ include.class }}}
68
+ {{ my_toc | lstrip }}{% endcapture %}
69
+ {% endif %}
70
+
71
+ {% if include.id %}
72
+ {% capture my_toc %}{: #{{ include.id }}}
73
+ {{ my_toc | lstrip }}{% endcapture %}
74
+ {% endif %}
75
+ {% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}