157 lines
5.3 KiB
Twig
157 lines
5.3 KiB
Twig
<!DOCTYPE html>
|
|
<html lang="{{ site.locale | lang_base }}" dir="{{ site.locale | text_direction }}" id="top">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>
|
|
{%- block title -%}
|
|
{%- if pagination is not empty and pagination.page > 1 -%}
|
|
{{- "Page %d" | translate | format(pagination.page) -}}
|
|
{{- " | " -}}
|
|
{%- endif -%}
|
|
{%- if title is not empty -%}
|
|
{{- title | fix -}}
|
|
{{- " | " -}}
|
|
{%- endif -%}
|
|
{{- site.name | fix -}}
|
|
{%- endblock -%}
|
|
</title>
|
|
<meta name="description" content="{{ site.description }}">
|
|
<meta name="generator" content="Chyrp Lite">
|
|
<meta name="viewport" content="initial-scale=1.0">
|
|
<link rel="icon" sizes="32x32" href="{{ site.chyrp_url }}/favicon.ico">
|
|
<link rel="icon" type="image/svg+xml" href="{{ site.chyrp_url }}/favicon.svg">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ site.chyrp_url }}/favicon/apple-touch-icon.png">
|
|
<link rel="manifest" href="{{ site.chyrp_url }}/favicon/site.webmanifest">
|
|
<link rel="preload" href="../../../fonts/lexend-v19-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
|
|
<link rel="preload" href="../../../fonts/lexend-v19-latin-700.woff2" as="font" type="font/woff2" crossorigin>
|
|
<style>
|
|
@font-face {
|
|
font-display: swap;
|
|
font-family: 'Lexend';
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
src: url('../../../fonts/lexend-v19-latin-regular.woff2') format('woff2');
|
|
}
|
|
@font-face {
|
|
font-display: swap;
|
|
font-family: 'Lexend';
|
|
font-style: normal;
|
|
font-weight: 600;
|
|
src: url('../../../fonts/lexend-v19-latin-600.woff2') format('woff2');
|
|
}
|
|
@font-face {
|
|
font-display: swap;
|
|
font-family: 'Lexend';
|
|
font-style: normal;
|
|
font-weight: 700;
|
|
src: url('../../../fonts/lexend-v19-latin-700.woff2') format('woff2');
|
|
}
|
|
</style>
|
|
{{ theme.feeds() }}
|
|
{{ theme.stylesheets() }}
|
|
{{ theme.javascripts() }}
|
|
{{ trigger.call("end_head") }}
|
|
</head>
|
|
<body class="route_{{ route.action }}">
|
|
<!-- Mast -->
|
|
{% for notice in flash.notices %}
|
|
<div role="alert" class="flash notice">
|
|
{{ notice }}
|
|
</div>
|
|
{% endfor %}
|
|
{% for warning in flash.warnings %}
|
|
<div role="alert" class="flash warning">
|
|
{{ warning }}
|
|
</div>
|
|
{% endfor %}
|
|
{% for message in flash.messages %}
|
|
<div role="alert" class="flash message">
|
|
{{ message }}
|
|
</div>
|
|
{% endfor %}
|
|
<div id="mast" role="banner">
|
|
<h1 class="banner"><a href="{{ url('/') }}">{{ site.name }}</a></h1>
|
|
<ul class="navigation" aria-label="{{ 'Links' | translate }}">
|
|
{% if theme.pages_list() is not empty %}
|
|
{% for item in theme.pages_list() %}
|
|
<li>
|
|
{{ " " | repeat((item.depth - 1) * 4) }}<a href="{{ item.url() }}">{{ item.title }}</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ mailto(site.email) }}">{{ "Email" | translate }}</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('feed') }}">{{ "Feed" | translate }}</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('archive') }}" rel="archives">{{ "Archive" | translate }}</a>
|
|
</li>
|
|
{% if visitor.group.can("change_settings", "toggle_extensions") %}
|
|
<li>
|
|
<a href="{{ url('/', 'AdminController') }}">{{ "Admin" | translate }}</a>
|
|
</li>
|
|
{% elseif visitor.group.can("add_post") %}
|
|
<li>
|
|
<a href="{{ url('/', 'AdminController') }}">{{ "Write" | translate }}</a>
|
|
</li>
|
|
{% elseif visitor.group.can("add_draft") %}
|
|
<li>
|
|
<a href="{{ url('/', 'AdminController') }}">{{ "Draft" | translate }}</a>
|
|
</li>
|
|
{% endif %}
|
|
{% if visitor.logged_in %}
|
|
<li>
|
|
<a href="{{ url('controls') }}">{{ "Controls" | translate }}</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('logout') }}">{{ "Log out" | translate }}</a>
|
|
</li>
|
|
{% else %}
|
|
{% if site.can_register %}
|
|
<li>
|
|
<a href="{{ url('register') }}">{{ "Register" | translate }}</a>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ url('login') }}">{{ "Log in" | translate }}</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
<form class="search_box" action="{{ url('search') }}" method="post" accept-charset="UTF-8" role="search">
|
|
<input type="text" id="search_field" name="query" value="{{ search is defined ? search | fix(true, true) : '' }}" placeholder="{{ 'Search…' | translate }}" aria-label="{{ 'Search this blog' | translate }}">
|
|
<button type="submit" id="search_submit">{{ "Search" | translate }}</button>
|
|
</form>
|
|
</div>
|
|
<!-- Content -->
|
|
<div id="main" role="main">
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
{% if posts.paginated is defined and posts.next_page() %}
|
|
<!-- Navigation -->
|
|
<div role="navigation" class="next traversal">
|
|
{{ posts.next_link("Page %d" | translate | format(posts.page + 1)) }}
|
|
</div>
|
|
{% endif %}
|
|
<a href="#top" class="top-btn">
|
|
<svg class="top-btn__arrow" focusable="false" aria-hidden="true" viewBox="0 0 26 28">
|
|
<path d="M25.172 15.172c0 0.531-0.219 1.031-0.578 1.406l-1.172 1.172c-0.375 0.375-0.891 0.594-1.422 0.594s-1.047-0.219-1.406-0.594l-4.594-4.578v11c0 1.125-0.938 1.828-2 1.828h-2c-1.062 0-2-0.703-2-1.828v-11l-4.594 4.578c-0.359 0.375-0.875 0.594-1.406 0.594s-1.047-0.219-1.406-0.594l-1.172-1.172c-0.375-0.375-0.594-0.875-0.594-1.406s0.219-1.047 0.594-1.422l10.172-10.172c0.359-0.375 0.875-0.578 1.406-0.578s1.047 0.203 1.422 0.578l10.172 10.172c0.359 0.375 0.578 0.891 0.578 1.422z"></path>
|
|
</svg>
|
|
Back to Top
|
|
</a>
|
|
<!-- Footer -->
|
|
{{ trigger.call("end_content") }}
|
|
</body>
|
|
<!-- Queries: {{ sql_queries }} | Load Time: {{ theme.load_time() }} -->
|
|
{% if debug %}
|
|
<!--
|
|
{% for caller in sql_debug %}
|
|
{{ caller.query | replace({"\t": " "}) | fix }}
|
|
{{ "Called from %s on line %d at %s seconds." | translate | format(caller.file, caller.line, caller.time) }}
|
|
|
|
{% endfor %}
|
|
-->
|
|
{% endif %}
|
|
</html>
|