95 lines
3.5 KiB
HTML
95 lines
3.5 KiB
HTML
|
|
{%- include functions.html func='get_banner' -%}
|
|
|
|
{%- include functions.html func='log' level='debug' msg='Get header_transparent value' -%}
|
|
{%- assign name = 'header_transparent' -%}
|
|
{%- include functions.html func='get_value' default=true -%}
|
|
{%- assign header_transparent = return -%}
|
|
|
|
{%- if has_banner and header_transparent -%}
|
|
{%- assign header_transparent_class = "site-header-transparent" -%}
|
|
{%- endif -%}
|
|
|
|
<header class="site-header {{ header_transparent_class }}" role="banner">
|
|
|
|
<div class="wrapper">
|
|
<div class="site-header-inner">
|
|
{%- assign default_paths = site.pages | where: "dir", "/" | map: "path" -%}
|
|
{%- assign page_paths = site.header_pages | default: default_paths -%}
|
|
|
|
<span class="site-brand">
|
|
{%- include views/site-brand.html -%}
|
|
</span>
|
|
|
|
{%- if page_paths -%}
|
|
<nav class="site-nav">
|
|
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
|
|
<label for="nav-trigger">
|
|
<span class="menu-icon">
|
|
<svg viewBox="0 0 18 15" width="18px" height="15px">
|
|
<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"/>
|
|
</svg>
|
|
</span>
|
|
</label>
|
|
|
|
<div class="trigger">
|
|
{%- for path in page_paths -%}
|
|
{%- assign my_page = site.pages | where: "path", path | first -%}
|
|
{%- if my_page.title -%}
|
|
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | upcase | escape }}</a>
|
|
{%- endif -%}
|
|
{%- endfor -%}
|
|
|
|
{%- assign name = 'translate_langs' -%}
|
|
{%- include functions.html func='get_value' -%}
|
|
{%- assign translate_langs = return -%}
|
|
{%- if translate_langs.size > 0 -%}
|
|
{%- assign name = 'lang' -%}
|
|
{%- include functions.html func='get_value' default='en' -%}
|
|
{%- assign lang = return -%}
|
|
<span class="page-link">
|
|
{%- include extensions/google-translate.html -%}
|
|
</span>
|
|
{%- endif -%}
|
|
</div>
|
|
</nav>
|
|
{%- endif -%}
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<script>
|
|
function initHeader() {
|
|
var lastScrollY = getScrollPos().y;
|
|
var documentElement = document.documentElement;
|
|
|
|
function storeScrollData() {
|
|
var y = getScrollPos().y;
|
|
|
|
{%- if banner and header_transparent -%}
|
|
documentElement.setAttribute("data-header-transparent", "");
|
|
{%- endif -%}
|
|
|
|
var scrollStatus = "";
|
|
|
|
if (y <= 0) {
|
|
scrollStatus = "top";
|
|
} else if ((window.innerHeight + y) >= document.body.offsetHeight) {
|
|
scrollStatus = "bottom";
|
|
} else {
|
|
var isScrollDown = (y - lastScrollY > 0) ? true : false;
|
|
scrollStatus = isScrollDown ? "down" : "up";
|
|
}
|
|
|
|
lastScrollY = y;
|
|
documentElement.setAttribute("data-scroll-status", scrollStatus);
|
|
}
|
|
|
|
window.addEventListener('scroll', function(e) {
|
|
storeScrollData();
|
|
});
|
|
|
|
storeScrollData();
|
|
}
|
|
document.addEventListener('DOMContentLoaded', initHeader);
|
|
</script>
|