171 lines
5.9 KiB
HTML
171 lines
5.9 KiB
HTML
{#-
|
|
This file was copied from the Material theme
|
|
You can find the file in https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/src/partials/header.html
|
|
-#}
|
|
<!--
|
|
Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to
|
|
deal in the Software without restriction, including without limitation the
|
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
sell copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
IN THE SOFTWARE.
|
|
-->
|
|
|
|
<!-- Determine base classes -->
|
|
{% set class = "md-header" %}
|
|
{% if "navigation.tabs.sticky" in features %}
|
|
{% set class = class ~ " md-header--shadow md-header--lifted" %}
|
|
{% elif "navigation.tabs" not in features %}
|
|
{% set class = class ~ " md-header--shadow" %}
|
|
{% endif %}
|
|
|
|
<!-- Header -->
|
|
<header class="{{ class }}" data-md-component="header">
|
|
<nav
|
|
class="md-header__inner md-grid"
|
|
aria-label="{{ lang.t('header') }}"
|
|
>
|
|
|
|
<!-- Link to home -->
|
|
<a
|
|
href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}"
|
|
title="{{ config.site_name | e }}"
|
|
class="md-header__button md-logo"
|
|
aria-label="{{ config.site_name }}"
|
|
data-md-component="logo"
|
|
>
|
|
{% include "partials/logo.html" %}
|
|
</a>
|
|
|
|
<!-- Button to open drawer -->
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
{% include ".icons/material/menu" ~ ".svg" %}
|
|
</label>
|
|
|
|
<!-- Header title -->
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
{{ config.site_name }}
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
{% if page.meta and page.meta.title %}
|
|
{{ page.meta.title }}
|
|
{% else %}
|
|
{{ page.title }}
|
|
{% endif %}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Color palette -->
|
|
{% if config.theme.palette %}
|
|
{% if not config.theme.palette is mapping %}
|
|
<form class="md-header__option" data-md-component="palette">
|
|
{% for option in config.theme.palette %}
|
|
{% set scheme = option.scheme | d("default", true) %}
|
|
{% set primary = option.primary | d("indigo", true) %}
|
|
{% set accent = option.accent | d("indigo", true) %}
|
|
<input
|
|
class="md-option"
|
|
data-md-color-media="{{ option.media }}"
|
|
data-md-color-scheme="{{ scheme | replace(' ', '-') }}"
|
|
data-md-color-primary="{{ primary | replace(' ', '-') }}"
|
|
data-md-color-accent="{{ accent | replace(' ', '-') }}"
|
|
{% if option.toggle %}
|
|
aria-label="{{ option.toggle.name }}"
|
|
{% else %}
|
|
aria-hidden="true"
|
|
{% endif %}
|
|
type="radio"
|
|
name="__palette"
|
|
id="__palette_{{ loop.index }}"
|
|
/>
|
|
{% if option.toggle %}
|
|
<label
|
|
class="md-header__button md-icon"
|
|
title="{{ option.toggle.name }}"
|
|
for="__palette_{{ loop.index0 or loop.length }}"
|
|
hidden
|
|
>
|
|
{% include ".icons/" ~ option.toggle.icon ~ ".svg" %}
|
|
</label>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</form>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<!-- Site language selector -->
|
|
{% if config.extra.alternate %}
|
|
<div class="md-header__option">
|
|
<div class="md-select">
|
|
{% set icon = config.theme.icon.alternate or "material/translate" %}
|
|
<button
|
|
class="md-header__button md-icon"
|
|
aria-label="{{ lang.t('select.language') }}"
|
|
>
|
|
{% include ".icons/" ~ icon ~ ".svg" %}
|
|
</button>
|
|
<div class="md-select__inner">
|
|
<ul class="md-select__list">
|
|
{% for alt in config.extra.alternate %}
|
|
<li class="md-select__item">
|
|
<a
|
|
href="{{ alt.link | url }}"
|
|
hreflang="{{ alt.lang }}"
|
|
class="md-select__link"
|
|
>
|
|
{{ alt.name }}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<!-- Button to open search modal -->
|
|
{% if "material/search" in config.plugins %}
|
|
<label class="md-header__button md-icon" for="__search">
|
|
{% include ".icons/material/magnify.svg" %}
|
|
</label>
|
|
|
|
<!-- Search interface -->
|
|
{% include "partials/search.html" %}
|
|
{% endif %}
|
|
|
|
<!-- Repository information -->
|
|
{% if config.repo_url %}
|
|
<div class="md-header__source">
|
|
{% include "partials/source.html" %}
|
|
</div>
|
|
{% endif %}
|
|
</nav>
|
|
|
|
<!-- Navigation tabs (sticky) -->
|
|
{% if "navigation.tabs.sticky" in features %}
|
|
{% if "navigation.tabs" in features %}
|
|
{% include "partials/tabs.html" %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</header>
|