jekyll-theme-yat 1.1.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +20 -9
- data/_data/translate_langs.yml +0 -4
- data/_includes/extensions/comments/gitment.html +2 -2
- data/_includes/extensions/hashlocate.html +20 -16
- data/_includes/extensions/trianglify.html +8 -5
- data/_includes/functions/get_reading_time.html +41 -0
- data/_includes/head.html +10 -2
- data/_includes/sidebar/article-menu.html +50 -39
- data/_includes/views/article.html +0 -2
- data/_includes/views/banner.html +9 -39
- data/_includes/views/header.html +89 -39
- data/_includes/views/pagination.html +16 -3
- data/_includes/views/paginator.html +10 -6
- data/_includes/views/post-header.html +16 -2
- data/_layouts/articles.html +1 -1
- data/_layouts/framework.html +1 -1
- data/_layouts/post.html +40 -33
- data/_sass/misc/article-menu.scss +28 -14
- data/_sass/misc/common-list.scss +5 -9
- data/_sass/misc/google-translate.scss +22 -16
- data/_sass/yat.scss +11 -12
- data/_sass/yat/_base.scss +49 -16
- data/_sass/yat/_layout.scss +401 -42
- data/assets/{main.scss → css/main.scss} +4 -8
- data/assets/js/main.js +71 -0
- metadata +25 -10
- data/_sass/yat/_syntax-highlighting.scss +0 -105
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98ac82995fa7fe0f023cfdbbb2aa005413c8839adfaf3db2cf1a44b6b28b952d
|
4
|
+
data.tar.gz: 2e955f528fe54844e7ffbf5605a2f93b3eaf0f5bfa9a9465a1b4dbd518cb80bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c860e189b2e200c9723262207f8d5d8e69840c710faa4375b84ef99ac542a11fd30dfb19a09dafbc7bdf95fd38c86b4ad54c26e36b1fd3f8fa0e7147457db56
|
7
|
+
data.tar.gz: 63e1b8843f8ae8be5234623a914f32cbc7411f9322c5b9b083cedafe2dee51255c41b93dddc378e8046cf0dae57b286b4a886a4d5118037e52d758c41885b672
|
data/README.md
CHANGED
@@ -1,11 +1,21 @@
|
|
1
1
|
# jekyll-theme-yat
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/jekyll-theme-yat.svg)](http://badge.fury.io/rb/jekyll-theme-yat)
|
3
|
+
[![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
|
4
|
+
[![Donate (Liberapay)](http://img.shields.io/liberapay/goal/jeffreytse.svg?logo=liberapay)](https://liberapay.com/jeffreytse)
|
5
|
+
[![Donate (Patreon)](https://img.shields.io/badge/support-patreon-F96854.svg?style=flat-square)](https://patreon.com/jeffreytse)
|
6
|
+
<a href="https://ko-fi.com/jeffreytse">
|
7
|
+
<img height="20" src="https://www.ko-fi.com/img/githubbutton_sm.svg"
|
8
|
+
alt="Donate (Ko-fi)" />
|
9
|
+
</a>
|
2
10
|
|
3
|
-
|
11
|
+
Hey, nice to meet you, you found this Jekyll theme. Here the yet another theme is a modern theme, and it's quiet clear, clean and neat for writers and posts.
|
4
12
|
|
5
|
-
To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
|
6
13
|
|
7
|
-
|
14
|
+
<p align="center">
|
8
15
|
|
16
|
+
<img src="https://user-images.githubusercontent.com/9413601/87244819-c34ada80-c472-11ea-9c67-5827dd55d3c7.png" alt="demo-screenshot" width="720px" style="box-shadow: 0px 0px 18px 5px #f2f2f2" />
|
17
|
+
|
18
|
+
</p>
|
9
19
|
|
10
20
|
## Installation
|
11
21
|
|
@@ -33,10 +43,6 @@ Or install it yourself as:
|
|
33
43
|
|
34
44
|
TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
|
35
45
|
|
36
|
-
## Contributing
|
37
|
-
|
38
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/jeffreytse/jekyll-theme-yat. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
39
|
-
|
40
46
|
## Development
|
41
47
|
|
42
48
|
To set up your environment to develop this theme, run `bundle install`.
|
@@ -46,7 +52,12 @@ Your theme is setup just like a normal Jekyll site! To test your theme, run `bun
|
|
46
52
|
When your theme is released, only the files in `_data`, `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
|
47
53
|
To add a custom directory to your theme-gem, please edit the regexp in `jekyll-theme-yat.gemspec` accordingly.
|
48
54
|
|
49
|
-
##
|
55
|
+
## Contributing
|
56
|
+
|
57
|
+
Issues and Pull Requests are greatly appreciated. If you've never contributed to an open source project before I'm more than happy to walk you through how to create a pull request.
|
50
58
|
|
51
|
-
|
59
|
+
You can start by [opening an issue](https://github.com/jeffreytse/jekyll-theme-yat/issues/new) describing the problem that you're looking to resolve and we'll go from there.
|
60
|
+
|
61
|
+
## License
|
52
62
|
|
63
|
+
This theme is licensed under the [MIT license](https://opensource.org/licenses/mit-license.php) © JeffreyTse.
|
data/_data/translate_langs.yml
CHANGED
@@ -13,10 +13,6 @@
|
|
13
13
|
img: https://www.countryflags.io/cn/flat/64.png
|
14
14
|
text: Chinese(Simple)
|
15
15
|
|
16
|
-
- lang: zh-TW
|
17
|
-
img: https://www.countryflags.io/tw/flat/64.png
|
18
|
-
text: Chinese(Traditional)
|
19
|
-
|
20
16
|
- lang: ja
|
21
17
|
img: https://www.countryflags.io/jp/flat/64.png
|
22
18
|
text: Japan
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div id="gitment_thread"></div>
|
2
|
-
<link rel="stylesheet" href="https://
|
3
|
-
<script src="https://
|
2
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/theme-next/theme-next-gitment@1/default.css"/>
|
3
|
+
<script src="https://cdn.jsdelivr.net/gh/theme-next/theme-next-gitment@1/gitment.browser.js"></script>
|
4
4
|
<script>
|
5
5
|
var gitment = new Gitment({
|
6
6
|
id: '{{ page.id }}',
|
@@ -7,30 +7,34 @@
|
|
7
7
|
return;
|
8
8
|
}
|
9
9
|
|
10
|
-
var
|
11
|
-
var
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
var
|
16
|
-
var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat");
|
17
|
-
|
18
|
-
var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;
|
19
|
-
var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
|
10
|
+
var header = document.querySelector('header.site-header');
|
11
|
+
var headerRect = header.getBoundingClientRect();
|
12
|
+
var headerTop = Math.floor(headerRect.top);
|
13
|
+
var headerHeight = Math.floor(headerRect.height);
|
14
|
+
var scrollPos = getScrollPos();
|
15
|
+
var offsetY = element.offsetTop - (headerTop + headerHeight + 20);
|
20
16
|
|
21
|
-
|
22
|
-
if (y === offsetY) {
|
17
|
+
if (offsetY == scrollPos.y) {
|
23
18
|
return;
|
24
19
|
}
|
25
20
|
|
26
|
-
|
21
|
+
if (headerTop == 0 && offsetY > scrollPos.y) {
|
22
|
+
offsetY += headerHeight + 2;
|
23
|
+
} else if (headerTop < 0 && offsetY < scrollPos.y) {
|
24
|
+
offsetY -= headerHeight - 2;
|
25
|
+
}
|
26
|
+
|
27
|
+
smoothScrollTo(offsetY);
|
27
28
|
}
|
28
29
|
|
29
30
|
// The first event occurred
|
30
|
-
|
31
|
-
|
32
|
-
|
31
|
+
window.addEventListener('load', function(event) {
|
32
|
+
if (window.location.hash) {
|
33
|
+
hashLocate(window.location.hash);
|
34
|
+
}
|
35
|
+
});
|
33
36
|
|
37
|
+
// The first event occurred
|
34
38
|
window.addEventListener('click', function(event) {
|
35
39
|
if (event.target.matches('a')) {
|
36
40
|
hashLocate(event.target.getAttribute('href'));
|
@@ -8,16 +8,19 @@
|
|
8
8
|
|
9
9
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/trianglify/2.0.0/trianglify.min.js"></script>
|
10
10
|
<script>
|
11
|
-
function setRandomBgImage(selector, seed) {
|
11
|
+
function setRandomBgImage(selector, seed, zoom) {
|
12
12
|
var element = document.querySelector(selector);
|
13
13
|
if (!element) return;
|
14
14
|
var pattern = Trianglify({
|
15
|
-
width: screen.width,
|
16
|
-
height: element.offsetHeight,
|
15
|
+
width: screen.width * zoom,
|
16
|
+
height: element.offsetHeight * zoom,
|
17
17
|
seed: seed
|
18
18
|
});
|
19
|
-
|
19
|
+
|
20
|
+
var image = document.createElement("div");
|
21
|
+
image.style.backgroundImage = "url(" + pattern.png() + ")";
|
22
|
+
element.appendChild(image);
|
20
23
|
}
|
21
24
|
|
22
|
-
setRandomBgImage('{{ selector }}', '{{ seed }}');
|
25
|
+
setRandomBgImage('{{ selector }}', '{{ seed }}', {{ zoom | default: 1}});
|
23
26
|
</script>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{% if include.article %}
|
2
|
+
{% assign article = include.article %}
|
3
|
+
{% endif %}
|
4
|
+
|
5
|
+
{% if include.speed %}
|
6
|
+
{% assign speed = include.speed %}
|
7
|
+
{% else %}
|
8
|
+
{% assign speed = 160 %}
|
9
|
+
{% endif %}
|
10
|
+
|
11
|
+
{% assign total_mins = article
|
12
|
+
| number_of_words
|
13
|
+
| divided_by: speed
|
14
|
+
| at_least: 1 %}
|
15
|
+
|
16
|
+
{% assign hours = total_mins | divided_by: 60 %}
|
17
|
+
{% assign mins = total_mins | modulo: 60 %}
|
18
|
+
|
19
|
+
{% assign return = "About" %}
|
20
|
+
|
21
|
+
{% if hours > 0 %}
|
22
|
+
{% assign unit = "hour" %}
|
23
|
+
{% if hours > 1 %}
|
24
|
+
{% assign unit = unit | append: "s" %}
|
25
|
+
{% endif %}
|
26
|
+
{% assign return = return
|
27
|
+
| append: " "
|
28
|
+
| append: hours
|
29
|
+
| append: " "
|
30
|
+
| append: unit %}
|
31
|
+
{% endif %}
|
32
|
+
|
33
|
+
{% assign unit = "min" %}
|
34
|
+
{% if mins > 1 %}
|
35
|
+
{% assign unit = unit | append: "s" %}
|
36
|
+
{% endif %}
|
37
|
+
{% assign return = return
|
38
|
+
| append: " "
|
39
|
+
| append: mins
|
40
|
+
| append: " "
|
41
|
+
| append: unit %}
|
data/_includes/head.html
CHANGED
@@ -6,9 +6,17 @@
|
|
6
6
|
{%- seo -%}
|
7
7
|
<link rel="shortcut icon" href="{{ site.favicon }}">
|
8
8
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
9
|
-
<link rel="stylesheet" href="
|
9
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-noto-sans@0.0.72/index.min.css">
|
10
|
+
<link rel="stylesheet"
|
11
|
+
href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css">
|
12
|
+
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js"></script>
|
13
|
+
<!-- and it's easy to individually load additional languages -->
|
14
|
+
<script charset="UTF-8"
|
15
|
+
src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/languages/go.min.js"></script>
|
16
|
+
<link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
|
17
|
+
<script src="{{ "/assets/js/main.js" | relative_url }}"></script>
|
10
18
|
{%- feed_meta -%}
|
11
19
|
{%- if jekyll.environment == 'production' and site.google_analytics -%}
|
12
|
-
|
20
|
+
{%- include extensions/google-analytics.html -%}
|
13
21
|
{%- endif -%}
|
14
22
|
</head>
|
@@ -7,53 +7,64 @@
|
|
7
7
|
</style>
|
8
8
|
|
9
9
|
<div class="post-menu">
|
10
|
-
<div class="post-menu-title">
|
10
|
+
<div class="post-menu-title">TOC</div>
|
11
11
|
<div class="post-menu-content"></div>
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<script>
|
15
|
-
|
16
|
-
|
15
|
+
function generateContent() {
|
16
|
+
var menu = document.querySelector(".post-menu");
|
17
|
+
var menuContent = menu.querySelector(".post-menu-content");
|
18
|
+
var headings = document.querySelector(".post-content").querySelectorAll("h2, h3, h4, h5, h6");
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
'<li class="h-' + h.tagName.toLowerCase() + '">'
|
23
|
-
+ '<a href="#h-' + h.getAttribute('id') + '">' + h.textContent + '</a></li>');
|
24
|
-
});
|
20
|
+
// Hide menu when no headings
|
21
|
+
if (headings.length === 0) {
|
22
|
+
return menu.style.display = "none";
|
23
|
+
}
|
25
24
|
|
26
|
-
|
25
|
+
// Generate post menu
|
26
|
+
var menuHTML = '';
|
27
|
+
for (var i = 0; i < headings.length; i++) {
|
28
|
+
var h = headings[i];
|
29
|
+
menuHTML += (
|
30
|
+
'<li class="h-' + h.tagName.toLowerCase() + '">'
|
31
|
+
+ '<a href="#h-' + h.getAttribute('id') + '">' + h.textContent + '</a></li>');
|
32
|
+
}
|
27
33
|
|
28
|
-
|
29
|
-
var headerHeight = 0;
|
30
|
-
var header = document.querySelector('header');
|
31
|
-
if (header) {
|
32
|
-
offsetHeight = header.offsetHeight + 12;
|
33
|
-
}
|
34
|
+
menuContent.innerHTML = '<ul>' + menuHTML + '</ul>';
|
34
35
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
var
|
41
|
-
var
|
42
|
-
|
43
|
-
var
|
44
|
-
var
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
36
|
+
// The header element
|
37
|
+
var header = document.querySelector('header.site-header');
|
38
|
+
|
39
|
+
// Active the menu item
|
40
|
+
window.addEventListener('scroll', function (event) {
|
41
|
+
var lastActive = menuContent.querySelector('.active');
|
42
|
+
var changed = true;
|
43
|
+
for (var i = headings.length - 1; i >= 0; i--) {
|
44
|
+
var h = headings[i];
|
45
|
+
var headingRect = h.getBoundingClientRect();
|
46
|
+
var headerRect = header.getBoundingClientRect();
|
47
|
+
var headerTop = Math.floor(headerRect.top);
|
48
|
+
var headerHeight = Math.floor(headerRect.height);
|
49
|
+
var headerHeight = headerTop + headerHeight + 20;
|
50
|
+
if (headingRect.top <= headerHeight) {
|
51
|
+
var id = 'h-' + h.getAttribute('id');
|
52
|
+
var a = menuContent.querySelector('a[href="#' + id + '"]');
|
53
|
+
var curActive = a.parentNode;
|
54
|
+
if (curActive) {
|
55
|
+
curActive.classList.add('active');
|
56
|
+
}
|
57
|
+
if (lastActive == curActive) {
|
58
|
+
changed = false;
|
59
|
+
}
|
60
|
+
break;
|
50
61
|
}
|
51
|
-
break;
|
52
62
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
}
|
63
|
+
if (lastActive && changed) {
|
64
|
+
lastActive.classList.remove('active');
|
65
|
+
}
|
66
|
+
event.preventDefault();
|
67
|
+
});
|
68
|
+
}
|
69
|
+
generateContent();
|
59
70
|
</script>
|
data/_includes/views/banner.html
CHANGED
@@ -19,20 +19,9 @@
|
|
19
19
|
{% assign subheading = return %}
|
20
20
|
|
21
21
|
{% if banner %}
|
22
|
-
|
23
|
-
{% assign auto_banner = true %}
|
24
|
-
{% assign array = banner | split: '/' %}
|
25
|
-
{% assign protocol = array[0] %}
|
26
|
-
|
27
|
-
{% if array.size > 1 and (protocol == '' or protocol == 'http:' or protocol == 'https:') %}
|
28
|
-
{% assign auto_banner = false %}
|
29
|
-
{% endif %}
|
30
|
-
|
31
22
|
<section class="page-banner">
|
32
23
|
<div class="page-banner-img">
|
33
|
-
|
34
|
-
<div style="background-image: url({{ banner }})"></div>
|
35
|
-
{%- endif -%}
|
24
|
+
<div style="background-image: url({{ banner }})"></div>
|
36
25
|
</div>
|
37
26
|
<div class="wrapper">
|
38
27
|
<div class="page-banner-inner">
|
@@ -44,37 +33,18 @@
|
|
44
33
|
|
45
34
|
{%- else -%}
|
46
35
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
36
|
+
<div class="page-banner-default">
|
37
|
+
<h1 class="page-banner-heading">
|
38
|
+
{{ heading | default: page.title | escape }}
|
39
|
+
</h1>
|
40
|
+
<h2 class="page-banner-subheading">
|
41
|
+
{{ subheading | default: page.subtitle | escape }}
|
42
|
+
</h2>
|
43
|
+
</div>
|
53
44
|
|
54
45
|
{%- endif -%}
|
55
46
|
</div>
|
56
47
|
</div>
|
57
48
|
</section>
|
58
|
-
|
59
|
-
{%- if auto_banner -%}
|
60
|
-
|
61
|
-
{%- assign selector = ".page-banner-img" -%}
|
62
|
-
|
63
|
-
{%- if banner == "default" -%}
|
64
|
-
|
65
|
-
{%- assign heading = page.heading | default: page.title | escape -%}
|
66
|
-
{%- assign subheading = page.subheading | default: page.subtitle | escape -%}
|
67
|
-
{%- assign seed = page.date | append: heading | append: subheading -%}
|
68
|
-
|
69
|
-
{%- else -%}
|
70
|
-
|
71
|
-
{%- assign seed = 'theme-' | append: banner -%}
|
72
|
-
|
73
|
-
{%- endif -%}
|
74
|
-
|
75
|
-
{%- include extensions/trianglify.html -%}
|
76
|
-
|
77
|
-
{%- endif -%}
|
78
|
-
|
79
49
|
{%- endif -%}
|
80
50
|
|
data/_includes/views/header.html
CHANGED
@@ -1,44 +1,94 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
{%- include functions.html func='log' level='debug' msg='Get banner value' -%}
|
3
|
+
{% assign name = 'banner' %}
|
4
|
+
{%- include functions.html func='get_value' -%}
|
5
|
+
{% assign banner = return %}
|
6
|
+
|
7
|
+
{%- include functions.html func='log' level='debug' msg='Get header_transparent value' -%}
|
8
|
+
{% assign name = 'header_transparent' %}
|
9
|
+
{%- include functions.html func='get_value' -%}
|
10
|
+
{% assign header_transparent = return | default: true %}
|
11
|
+
|
12
|
+
{%- if banner and header_transparent -%}
|
13
|
+
{%- assign header_transparent_class = "site-header-transparent" -%}
|
14
|
+
{%- endif -%}
|
15
|
+
|
16
|
+
<header class="site-header {{ header_transparent_class }}" role="banner">
|
2
17
|
|
3
18
|
<div class="wrapper">
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<
|
14
|
-
|
15
|
-
<
|
16
|
-
<
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
</label>
|
21
|
-
|
22
|
-
<div class="trigger">
|
23
|
-
{%- for path in page_paths -%}
|
24
|
-
{%- assign my_page = site.pages | where: "path", path | first -%}
|
25
|
-
{%- if my_page.title -%}
|
26
|
-
<a class="page-link" href="{{ my_page.url | relative_url }}">
|
27
|
-
{{ my_page.title | upcase | escape }}
|
28
|
-
</a>
|
29
|
-
{%- endif -%}
|
30
|
-
{%- endfor -%}
|
31
|
-
|
32
|
-
{%- assign name = 'translate_langs' -%}
|
33
|
-
{%- include functions.html func='get_value' -%}
|
34
|
-
{%- assign translate_langs = return -%}
|
35
|
-
{%- if translate_langs.size > 0 -%}
|
36
|
-
<span class="page-link">
|
37
|
-
{%- include extensions/google-translate.html -%}
|
19
|
+
<div class="site-header-inner">
|
20
|
+
{%- assign default_paths = site.pages | where: "dir", "/" | map: "path" -%}
|
21
|
+
{%- assign page_paths = site.header_pages | default: default_paths -%}
|
22
|
+
|
23
|
+
<span class="site-brand">
|
24
|
+
{%- include views/site-brand.html -%}
|
25
|
+
</span>
|
26
|
+
|
27
|
+
{%- if page_paths -%}
|
28
|
+
<nav class="site-nav">
|
29
|
+
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
|
30
|
+
<label for="nav-trigger">
|
31
|
+
<span class="menu-icon">
|
32
|
+
<svg viewBox="0 0 18 15" width="18px" height="15px">
|
33
|
+
<path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
|
34
|
+
</svg>
|
38
35
|
</span>
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
</label>
|
37
|
+
|
38
|
+
<div class="trigger">
|
39
|
+
{%- for path in page_paths -%}
|
40
|
+
{%- assign my_page = site.pages | where: "path", path | first -%}
|
41
|
+
{%- if my_page.title -%}
|
42
|
+
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | upcase | escape }}</a>
|
43
|
+
{%- endif -%}
|
44
|
+
{%- endfor -%}
|
45
|
+
|
46
|
+
{%- assign name = 'translate_langs' -%}
|
47
|
+
{%- include functions.html func='get_value' -%}
|
48
|
+
{%- assign translate_langs = return -%}
|
49
|
+
{%- if translate_langs.size > 0 -%}
|
50
|
+
<span class="page-link">
|
51
|
+
{%- include extensions/google-translate.html -%}
|
52
|
+
</span>
|
53
|
+
{%- endif -%}
|
54
|
+
</div>
|
55
|
+
</nav>
|
56
|
+
{%- endif -%}
|
57
|
+
</div>
|
43
58
|
</div>
|
44
59
|
</header>
|
60
|
+
|
61
|
+
<script>
|
62
|
+
(function() {
|
63
|
+
var lastScrollY = getScrollPos().y;
|
64
|
+
var documentElement = document.documentElement;
|
65
|
+
|
66
|
+
function storeScrollData() {
|
67
|
+
var y = getScrollPos().y;
|
68
|
+
|
69
|
+
{%- if banner and header_transparent -%}
|
70
|
+
documentElement.setAttribute("data-header-transparent", "");
|
71
|
+
{%- endif -%}
|
72
|
+
|
73
|
+
var scrollStatus = "";
|
74
|
+
|
75
|
+
if (y <= 0) {
|
76
|
+
scrollStatus = "top";
|
77
|
+
} else if ((window.innerHeight + y) >= document.body.offsetHeight) {
|
78
|
+
scrollStatus = "bottom";
|
79
|
+
} else {
|
80
|
+
var isScrollDown = (y - lastScrollY > 0) ? true : false;
|
81
|
+
scrollStatus = isScrollDown ? "down" : "up";
|
82
|
+
}
|
83
|
+
|
84
|
+
lastScrollY = y;
|
85
|
+
documentElement.setAttribute("data-scroll-status", scrollStatus);
|
86
|
+
}
|
87
|
+
|
88
|
+
window.addEventListener('scroll', function(e) {
|
89
|
+
storeScrollData();
|
90
|
+
});
|
91
|
+
|
92
|
+
storeScrollData();
|
93
|
+
})();
|
94
|
+
</script>
|