jekyll-theme-woforo 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +690 -0
  3. data/{LICENSE → LICENSE.txt} +5 -5
  4. data/README.md +128 -19
  5. data/_includes/analytics-providers/custom.html +3 -0
  6. data/_includes/analytics-providers/google-universal.html +9 -0
  7. data/_includes/analytics-providers/google.html +11 -0
  8. data/_includes/analytics.html +12 -0
  9. data/_includes/archive-single.html +38 -0
  10. data/_includes/author-profile-custom-links.html +7 -0
  11. data/_includes/author-profile.html +241 -0
  12. data/_includes/base_path +5 -0
  13. data/_includes/breadcrumbs.html +39 -0
  14. data/_includes/browser-upgrade.html +3 -0
  15. data/_includes/category-list.html +26 -0
  16. data/_includes/comment.html +22 -0
  17. data/_includes/comments-providers/custom.html +3 -0
  18. data/_includes/comments-providers/discourse.html +13 -0
  19. data/_includes/comments-providers/disqus.html +22 -0
  20. data/_includes/comments-providers/facebook.html +8 -0
  21. data/_includes/comments-providers/google-plus.html +2 -0
  22. data/_includes/comments-providers/scripts.html +18 -0
  23. data/_includes/comments-providers/staticman.html +42 -0
  24. data/_includes/comments.html +80 -0
  25. data/_includes/feature_row +50 -0
  26. data/_includes/figure +12 -0
  27. data/_includes/footer.html +22 -0
  28. data/_includes/footer/custom.html +3 -0
  29. data/_includes/gallery +47 -0
  30. data/_includes/group-by-array +47 -0
  31. data/_includes/head.html +19 -9
  32. data/_includes/head/custom.html +5 -0
  33. data/_includes/masthead.html +21 -0
  34. data/_includes/nav_list +47 -0
  35. data/_includes/page__hero.html +53 -0
  36. data/_includes/page__taxonomy.html +7 -0
  37. data/_includes/paginator.html +68 -0
  38. data/_includes/post_pagination.html +14 -0
  39. data/_includes/read-time.html +15 -0
  40. data/_includes/scripts.html +4 -0
  41. data/_includes/seo.html +145 -0
  42. data/_includes/sidebar.html +23 -0
  43. data/_includes/social-share.html +13 -0
  44. data/_includes/tag-list.html +26 -0
  45. data/_includes/toc +7 -0
  46. data/_layouts/archive-taxonomy.html +15 -0
  47. data/_layouts/archive.html +24 -0
  48. data/_layouts/compress.html +10 -0
  49. data/_layouts/default.html +25 -5
  50. data/_layouts/home.html +11 -0
  51. data/_layouts/single.html +74 -0
  52. data/_layouts/splash.html +20 -0
  53. data/_sass/_animations.scss +21 -0
  54. data/_sass/_archive.scss +238 -0
  55. data/_sass/_base.scss +315 -0
  56. data/_sass/_buttons.scss +153 -0
  57. data/_sass/_footer.scss +80 -0
  58. data/_sass/_forms.scss +391 -0
  59. data/_sass/_masthead.scss +53 -0
  60. data/_sass/_mixins.scss +53 -0
  61. data/_sass/_navigation.scss +544 -0
  62. data/_sass/_notices.scss +99 -0
  63. data/_sass/_page.scss +401 -0
  64. data/_sass/_print.scss +18 -0
  65. data/_sass/_reset.scss +187 -0
  66. data/_sass/_sidebar.scss +231 -0
  67. data/_sass/_syntax.scss +146 -0
  68. data/_sass/_tables.scss +38 -0
  69. data/_sass/_utilities.scss +470 -0
  70. data/_sass/_variables.scss +128 -0
  71. data/_sass/vendor/breakpoint/_breakpoint.scss +114 -0
  72. data/_sass/vendor/breakpoint/_context.scss +95 -0
  73. data/_sass/vendor/breakpoint/_helpers.scss +151 -0
  74. data/_sass/vendor/breakpoint/_legacy-settings.scss +50 -0
  75. data/_sass/vendor/breakpoint/_no-query.scss +15 -0
  76. data/_sass/vendor/breakpoint/_parsers.scss +215 -0
  77. data/_sass/vendor/breakpoint/_respond-to.scss +82 -0
  78. data/_sass/vendor/breakpoint/_settings.scss +71 -0
  79. data/_sass/vendor/breakpoint/parsers/_double.scss +33 -0
  80. data/_sass/vendor/breakpoint/parsers/_query.scss +82 -0
  81. data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -0
  82. data/_sass/vendor/breakpoint/parsers/_single.scss +26 -0
  83. data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -0
  84. data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
  85. data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -0
  86. data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
  87. data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
  88. data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -0
  89. data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -0
  90. data/_sass/vendor/font-awesome/_animated.scss +34 -0
  91. data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
  92. data/_sass/vendor/font-awesome/_core.scss +12 -0
  93. data/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
  94. data/_sass/vendor/font-awesome/_font-awesome.scss +18 -0
  95. data/_sass/vendor/font-awesome/_icons.scss +789 -0
  96. data/_sass/vendor/font-awesome/_larger.scss +13 -0
  97. data/_sass/vendor/font-awesome/_list.scss +19 -0
  98. data/_sass/vendor/font-awesome/_mixins.scss +60 -0
  99. data/_sass/vendor/font-awesome/_path.scss +15 -0
  100. data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
  101. data/_sass/vendor/font-awesome/_screen-reader.scss +5 -0
  102. data/_sass/vendor/font-awesome/_stacked.scss +20 -0
  103. data/_sass/vendor/font-awesome/_variables.scss +800 -0
  104. data/_sass/vendor/magnific-popup/_magnific-popup.scss +649 -0
  105. data/_sass/vendor/magnific-popup/_settings.scss +46 -0
  106. data/_sass/vendor/susy/_su.scss +4 -0
  107. data/_sass/vendor/susy/_susy.scss +4 -0
  108. data/_sass/vendor/susy/_susyone.scss +4 -0
  109. data/_sass/vendor/susy/susy/_su.scss +7 -0
  110. data/_sass/vendor/susy/susy/language/_susy.scss +24 -0
  111. data/_sass/vendor/susy/susy/language/_susyone.scss +13 -0
  112. data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -0
  113. data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -0
  114. data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -0
  115. data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -0
  116. data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -0
  117. data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -0
  118. data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -0
  119. data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -0
  120. data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -0
  121. data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -0
  122. data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -0
  123. data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -0
  124. data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -0
  125. data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -0
  126. data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -0
  127. data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -0
  128. data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -0
  129. data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -0
  130. data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -0
  131. data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -0
  132. data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -0
  133. data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -0
  134. data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -0
  135. data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -0
  136. data/_sass/vendor/susy/susy/output/_float.scss +9 -0
  137. data/_sass/vendor/susy/susy/output/_shared.scss +15 -0
  138. data/_sass/vendor/susy/susy/output/_support.scss +9 -0
  139. data/_sass/vendor/susy/susy/output/float/_container.scss +16 -0
  140. data/_sass/vendor/susy/susy/output/float/_end.scss +40 -0
  141. data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -0
  142. data/_sass/vendor/susy/susy/output/float/_span.scss +35 -0
  143. data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -0
  144. data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -0
  145. data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -0
  146. data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -0
  147. data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -0
  148. data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -0
  149. data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -0
  150. data/_sass/vendor/susy/susy/output/support/_background.scss +58 -0
  151. data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -0
  152. data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -0
  153. data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -0
  154. data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -0
  155. data/_sass/vendor/susy/susy/output/support/_support.scss +85 -0
  156. data/_sass/vendor/susy/susy/su/_grid.scss +103 -0
  157. data/_sass/vendor/susy/susy/su/_settings.scss +73 -0
  158. data/_sass/vendor/susy/susy/su/_utilities.scss +111 -0
  159. data/_sass/vendor/susy/susy/su/_validation.scss +57 -0
  160. data/assets/css/main.scss +79 -0
  161. data/assets/fonts/FontAwesome.otf +0 -0
  162. data/assets/fonts/fontawesome-webfont.eot +0 -0
  163. data/assets/fonts/fontawesome-webfont.svg +2671 -0
  164. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  165. data/assets/fonts/fontawesome-webfont.woff +0 -0
  166. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  167. data/assets/js/_main.js +100 -0
  168. data/assets/js/main.min.js +5 -0
  169. data/assets/js/plugins/jquery.fitvids.js +82 -0
  170. data/assets/js/plugins/jquery.greedy-navigation.js +72 -0
  171. data/assets/js/plugins/jquery.magnific-popup.js +2049 -0
  172. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -0
  173. data/assets/js/plugins/stickyfill.min.js +8 -0
  174. data/assets/js/vendor/jquery/jquery-1.12.4.min.js +5 -0
  175. metadata +243 -16
  176. data/_includes/header.html +0 -0
  177. data/_layouts/page.html +0 -5
  178. data/_layouts/post.html +0 -9
  179. data/_sass/woforo.scss +0 -24
@@ -0,0 +1,47 @@
1
+ <!--
2
+ # Jekyll Group-By-Array 0.1.0
3
+ # https://github.com/mushishi78/jekyll-group-by-array
4
+ # © 2015 Max White <mushishi78@gmail.com>
5
+ # MIT License
6
+ -->
7
+
8
+ <!-- Initialize -->
9
+ {% assign __empty_array = '' | split: ',' %}
10
+ {% assign group_names = __empty_array %}
11
+ {% assign group_items = __empty_array %}
12
+
13
+ <!-- Map -->
14
+ {% assign __names = include.collection | map: include.field %}
15
+
16
+ <!-- Flatten -->
17
+ {% assign __names = __names | join: ',' | join: ',' | split: ',' %}
18
+
19
+ <!-- Uniq -->
20
+ {% assign __names = __names | sort %}
21
+ {% for name in __names | sort %}
22
+
23
+ <!-- If not equal to previous then it must be unique as sorted -->
24
+ {% unless name == previous %}
25
+
26
+ <!-- Push to group_names -->
27
+ {% assign group_names = group_names | push: name %}
28
+ {% endunless %}
29
+
30
+ {% assign previous = name %}
31
+ {% endfor %}
32
+
33
+
34
+ <!-- group_items -->
35
+ {% for name in group_names %}
36
+
37
+ <!-- Collect if contains -->
38
+ {% assign __item = __empty_array %}
39
+ {% for __element in include.collection %}
40
+ {% if __element[include.field] contains name %}
41
+ {% assign __item = __item | push: __element %}
42
+ {% endif %}
43
+ {% endfor %}
44
+
45
+ <!-- Push to group_items -->
46
+ {% assign group_items = group_items | push: __item %}
47
+ {% endfor %}
@@ -1,9 +1,19 @@
1
- <head>
2
- <meta charset="UTF-8">
3
- <title>{{ site.title }}</title>
4
- <meta name="viewport" content="width=device-width, initial-scale=1">
5
- <meta name="theme-color" content="#157878">
6
- <link rel="stylesheet" href="{{ site.baseurl }}/css/syntax.css">
7
- <link rel="stylesheet" href="{{ site.baseurl }}/css/syntax-extra.css">
8
- <link rel="stylesheet" href="{{ site.baseurl }}/css/main.css">
9
- </head>
1
+ <meta charset="utf-8">
2
+
3
+ {% include seo.html %}
4
+
5
+ <link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
6
+
7
+ <!-- http://t.co/dKP3o1e -->
8
+ <meta name="HandheldFriendly" content="True">
9
+ <meta name="MobileOptimized" content="320">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
+
12
+ <script>
13
+ document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
14
+ </script>
15
+
16
+ <!-- For all browsers -->
17
+ <link rel="stylesheet" href="{{ '/assets/css/main.css' | absolute_url }}">
18
+
19
+ <meta http-equiv="cleartype" content="on">
@@ -0,0 +1,5 @@
1
+ <!-- start custom head snippets -->
2
+
3
+ <!-- insert favicons. use http://realfavicongenerator.net/ -->
4
+
5
+ <!-- end custom head snippets -->
@@ -0,0 +1,21 @@
1
+ <div class="masthead">
2
+ <div class="masthead__inner-wrap">
3
+ <div class="masthead__menu">
4
+ <nav id="site-nav" class="greedy-nav">
5
+ <button><div class="navicon"></div></button>
6
+ <ul class="visible-links">
7
+ <li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ '/' | absolute_url }}">{{ site.title }}</a></li>
8
+ {% for link in site.data.navigation.main %}
9
+ {% if link.url contains 'http' %}
10
+ {% assign domain = '' %}
11
+ {% else %}
12
+ {% assign domain = site.url | append: site.baseurl %}
13
+ {% endif %}
14
+ <li class="masthead__menu-item"><a href="{{ domain }}{{ link.url }}">{{ link.title }}</a></li>
15
+ {% endfor %}
16
+ </ul>
17
+ <ul class="hidden-links hidden"></ul>
18
+ </nav>
19
+ </div>
20
+ </div>
21
+ </div>
@@ -0,0 +1,47 @@
1
+ {% assign navigation = site.data.navigation[include.nav] %}
2
+
3
+ <nav class="nav__list">
4
+ {% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
5
+ <input id="ac-toc" name="accordion-toc" type="checkbox" />
6
+ <label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
7
+ <ul class="nav__items">
8
+ {% for nav in navigation %}
9
+ <li>
10
+ {% if nav.url %}
11
+ {% comment %} internal/external URL check {% endcomment %}
12
+ {% if nav.url contains "://" %}
13
+ {% assign domain = "" %}
14
+ {% else %}
15
+ {% assign domain = site.url | append: site.baseurl %}
16
+ {% endif %}
17
+
18
+ <a href="{{ domain }}{{ nav.url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
19
+ {% else %}
20
+ <span class="nav__sub-title">{{ nav.title }}</span>
21
+ {% endif %}
22
+
23
+ {% if nav.children != null %}
24
+ <ul>
25
+ {% for child in nav.children %}
26
+ {% comment %} internal/external URL check {% endcomment %}
27
+ {% if child.url contains "://" %}
28
+ {% assign domain = "" %}
29
+ {% else %}
30
+ {% assign domain = site.url | append: site.baseurl %}
31
+ {% endif %}
32
+
33
+ {% comment %} set "active" class on current page {% endcomment %}
34
+ {% if child.url == page.url %}
35
+ {% assign active = "active" %}
36
+ {% else %}
37
+ {% assign active = "" %}
38
+ {% endif %}
39
+
40
+ <li><a href="{{ domain }}{{ child.url }}" class="{{ active }}">{{ child.title }}</a></li>
41
+ {% endfor %}
42
+ </ul>
43
+ {% endif %}
44
+ </li>
45
+ {% endfor %}
46
+ </ul>
47
+ </nav>
@@ -0,0 +1,53 @@
1
+ {% if page.header.image contains "://" %}
2
+ {% capture img_path %}{{ page.header.image }}{% endcapture %}
3
+ {% else %}
4
+ {% capture img_path %}{{ page.header.image | absolute_url }}{% endcapture %}
5
+ {% endif %}
6
+
7
+ {% if page.header.cta_url contains "://" %}
8
+ {% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
9
+ {% else %}
10
+ {% capture cta_path %}{{ page.header.cta_url | absolute_url }}{% endcapture %}
11
+ {% endif %}
12
+
13
+ {% if page.header.overlay_image contains "://" %}
14
+ {% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
15
+ {% elsif page.header.overlay_image %}
16
+ {% capture overlay_img_path %}{{ page.header.overlay_image | absolute_url }}{% endcapture %}
17
+ {% endif %}
18
+
19
+ {% if page.header.overlay_filter contains "rgba" %}
20
+ {% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
21
+ {% elsif page.header.overlay_filter %}
22
+ {% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
23
+ {% endif %}
24
+
25
+ <div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
26
+ style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
27
+ >
28
+ {% if page.header.overlay_color or page.header.overlay_image %}
29
+ <div class="wrapper">
30
+ <h1 class="page__title" itemprop="headline">
31
+ {% if paginator %}
32
+ {{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}
33
+ {% else %}
34
+ {{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
35
+ {% endif %}
36
+ </h1>
37
+ {% if page.excerpt %}
38
+ <p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
39
+ {% endif %}
40
+ {% if site.read_time and page.read_time %}
41
+ <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
42
+ {% endif %}
43
+ {% if page.header.cta_url %}
44
+ <p><a href="{{ cta_path }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
45
+ {% endif %}
46
+ </div>
47
+ {% else %}
48
+ <img src="{{ img_path }}" alt="{{ page.title }}" class="page__hero-image">
49
+ {% endif %}
50
+ {% if page.header.caption %}
51
+ <span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
52
+ {% endif %}
53
+ </div>
@@ -0,0 +1,7 @@
1
+ {% if site.tag_archive.type and page.tags[0] %}
2
+ {% include tag-list.html %}
3
+ {% endif %}
4
+
5
+ {% if site.category_archive.type and page.categories[0] %}
6
+ {% include category-list.html %}
7
+ {% endif %}
@@ -0,0 +1,68 @@
1
+ {% if paginator.total_pages > 1 %}
2
+ <nav class="pagination">
3
+ <ul>
4
+ {% comment %} Link for previous page {% endcomment %}
5
+ {% if paginator.previous_page %}
6
+ {% if paginator.previous_page == 1 %}
7
+ <li><a href="{{ '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
8
+ {% else %}
9
+ <li><a href="{{ '/page' | absolute_url }}{{ paginator.previous_page | append: '/' }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
10
+ {% endif %}
11
+ {% else %}
12
+ <li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
13
+ {% endif %}
14
+
15
+ {% comment %} First page {% endcomment %}
16
+ {% if paginator.page == 1 %}
17
+ <li><a href="#" class="disabled current">1</a></li>
18
+ {% else %}
19
+ <li><a href="{{ '/' | absolute_url }}">1</a></li>
20
+ {% endif %}
21
+
22
+ {% assign page_start = 2 %}
23
+ {% if paginator.page > 4 %}
24
+ {% assign page_start = paginator.page | minus: 2 %}
25
+ {% comment %} Ellipsis for truncated links {% endcomment %}
26
+ <li><a href="#" class="disabled">&hellip;</a></li>
27
+ {% endif %}
28
+
29
+ {% assign page_end = paginator.total_pages | minus: 1 %}
30
+ {% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
31
+ {% if pages_to_end > 4 %}
32
+ {% assign page_end = paginator.page | plus: 2 %}
33
+ {% endif %}
34
+
35
+ {% for index in (page_start..page_end) %}
36
+ {% if index == paginator.page %}
37
+ <li><a href="{{ '/page' | absolute_url }}{{ index | append: '/' }}" class="disabled current">{{ index }}</a></li>
38
+ {% else %}
39
+ {% comment %} Distance from current page and this link {% endcomment %}
40
+ {% assign dist = paginator.page | minus: index %}
41
+ {% if dist < 0 %}
42
+ {% comment %} Distance must be a positive value {% endcomment %}
43
+ {% assign dist = 0 | minus: dist %}
44
+ {% endif %}
45
+ <li><a href="{{ '/page' | absolute_url }}{{ index | append: '/' }}">{{ index }}</a></li>
46
+ {% endif %}
47
+ {% endfor %}
48
+
49
+ {% comment %} Ellipsis for truncated links {% endcomment %}
50
+ {% if pages_to_end > 3 %}
51
+ <li><a href="#" class="disabled">&hellip;</a></li>
52
+ {% endif %}
53
+
54
+ {% if paginator.page == paginator.total_pages %}
55
+ <li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
56
+ {% else %}
57
+ <li><a href="{{ '/page' | absolute_url }}{{ paginator.total_pages }}/">{{ paginator.total_pages }}</a></li>
58
+ {% endif %}
59
+
60
+ {% comment %} Link next page {% endcomment %}
61
+ {% if paginator.next_page %}
62
+ <li><a href="{{ '/page' | absolute_url }}{{ paginator.next_page }}/">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
63
+ {% else %}
64
+ <li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
65
+ {% endif %}
66
+ </ul>
67
+ </nav>
68
+ {% 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 | absolute_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 | absolute_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,15 @@
1
+ {% assign words_per_minute = site.words_per_minute | default: 200 %}
2
+
3
+ {% if post.read_time %}
4
+ {% assign words = post.content | strip_html | number_of_words %}
5
+ {% elsif page.read_time %}
6
+ {% assign words = page.content | strip_html | number_of_words %}
7
+ {% endif %}
8
+
9
+ {% if words < words_per_minute %}
10
+ {{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
11
+ {% elsif words == words_per_minute %}
12
+ 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
13
+ {% else %}
14
+ {{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
15
+ {% endif %}
@@ -0,0 +1,4 @@
1
+ <script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
2
+
3
+ {% include analytics.html %}
4
+ {% include /comments-providers/scripts.html %}
@@ -0,0 +1,145 @@
1
+ <!-- begin SEO -->
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
+ {% if page.title %}
8
+ {% assign seo_title = page.title | append: " " | append: site.title_separator | append: " " | append: site.title %}
9
+ {% endif %}
10
+
11
+ {% if seo_title %}
12
+ {% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %}
13
+ {% endif %}
14
+
15
+ {% if site.url %}
16
+ {% assign canonical_url = page.url | replace: "index.html", "" | prepend: site.url %}
17
+ {% endif %}
18
+
19
+ <title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ site.title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
20
+
21
+ {% assign seo_description = page.description | default: page.excerpt | default: site.description %}
22
+ {% if seo_description %}
23
+ {% assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once %}
24
+ {% endif %}
25
+
26
+ <meta name="description" content="{{ seo_description }}">
27
+
28
+ {% assign seo_author = page.author | default: page.author[0] | default: site.author[0] %}
29
+ {% if seo_author %}
30
+ {% if seo_author.twitter %}
31
+ {% assign seo_author_twitter = seo_author.twitter %}
32
+ {% else %}
33
+ {% if site.data.authors and site.data.authors[seo_author] %}
34
+ {% assign seo_author_twitter = site.data.authors[seo_author].twitter %}
35
+ {% else %}
36
+ {% assign seo_author_twitter = seo_author %}
37
+ {% endif %}
38
+ {% endif %}
39
+ {% assign seo_author_twitter = seo_author_twitter | replace: "@", "" %}
40
+ {% endif %}
41
+
42
+ <meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en" }}">
43
+ <meta property="og:site_name" content="{{ site.title }}">
44
+ <meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
45
+
46
+ {% if seo_url %}
47
+ <link rel="canonical" href="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}">
48
+ <meta property="og:url" content="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}">
49
+ {% endif %}
50
+
51
+ {% if page.excerpt %}
52
+ <meta property="og:description" content="{{ seo_description }}">
53
+ {% endif %}
54
+
55
+ {% if site.twitter.username %}
56
+ <meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
57
+ <meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
58
+ <meta name="twitter:description" content="{{ seo_description }}">
59
+ <meta name="twitter:url" content="{{ canonical_url }}">
60
+
61
+ {% if page.header.image %}
62
+ <meta name="twitter:card" content="summary_large_image">
63
+ <meta name="twitter:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
64
+ {% else %}
65
+ <meta name="twitter:card" content="summary">
66
+ {% if page.header.teaser %}
67
+ <meta name="twitter:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
68
+ {% elsif site.og_image %}
69
+ <meta name="twitter:image" content="{{ site.og_image | absolute_url }}">
70
+ {% endif %}
71
+ {% endif %}
72
+
73
+ {% if seo_author_twitter %}
74
+ <meta name="twitter:creator" content="@{{ seo_author_twitter }}">
75
+ {% endif %}
76
+ {% endif %}
77
+
78
+ {% if site.facebook %}
79
+ {% if site.facebook.publisher %}
80
+ <meta property="article:publisher" content="{{ site.facebook.publisher }}">
81
+ {% endif %}
82
+
83
+ {% if site.facebook.app_id %}
84
+ <meta property="fb:app_id" content="{{ site.facebook.app_id }}">
85
+ {% endif %}
86
+ {% endif %}
87
+
88
+ {% if page.header.image %}
89
+ <meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
90
+ {% elsif page.header.overlay_image %}
91
+ <meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
92
+ {% elsif page.header.teaser %}
93
+ <meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
94
+ {% elsif site.og_image %}
95
+ <meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
96
+ {% endif %}
97
+
98
+ {% if page.date %}
99
+ <meta property="og:type" content="article">
100
+ <meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
101
+ {% endif %}
102
+
103
+ {% if paginator.previous_page %}
104
+ <link rel="prev" href="{{ paginator.previous_page_path | prepend: seo_url }}">
105
+ {% endif %}
106
+ {% if paginator.next_page %}
107
+ <link rel="next" href="{{ paginator.next_page_path | prepend: seo_url }}">
108
+ {% endif %}
109
+
110
+ {% if site.og_image %}
111
+ <script type="application/ld+json">
112
+ {
113
+ "@context": "http://schema.org",
114
+ "@type": "Organization",
115
+ "url": {{ seo_url | jsonify }},
116
+ "logo": {{ site.og_image | absolute_url | jsonify }}
117
+ }
118
+ </script>
119
+ {% endif %}
120
+
121
+ {% if site.social %}
122
+ <script type="application/ld+json">
123
+ {
124
+ "@context" : "http://schema.org",
125
+ "@type" : "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
126
+ "name" : "{{ site.social.name | default: site.name }}",
127
+ "url" : {{ seo_url | jsonify }},
128
+ "sameAs" : {{ site.social.links | jsonify }}
129
+ }
130
+ </script>
131
+ {% endif %}
132
+
133
+ {% if site.google_site_verification %}
134
+ <meta name="google-site-verification" content="{{ site.google_site_verification }}" />
135
+ {% endif %}
136
+ {% if site.bing_site_verification %}
137
+ <meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
138
+ {% endif %}
139
+ {% if site.alexa_site_verification %}
140
+ <meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
141
+ {% endif %}
142
+ {% if site.yandex_site_verification %}
143
+ <meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
144
+ {% endif %}
145
+ <!-- end SEO -->