jekyll-theme-yat 1.1.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
[](http://badge.fury.io/rb/jekyll-theme-yat)
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
4
|
+
[](https://liberapay.com/jeffreytse)
|
5
|
+
[](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>
|