102 lines
3.1 KiB
Twig
102 lines
3.1 KiB
Twig
|
<!DOCTYPE html>
|
||
|
<html lang="{{ site.locale | lang_base }}" dir="{{ site.locale | text_direction }}">
|
||
|
<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" type="image/x-icon" href="{{ site.chyrp_url }}/favicon.ico">
|
||
|
<link rel="icon" sizes="any" type="image/svg+xml" href="{{ site.chyrp_url }}/favicon.svg">
|
||
|
<link rel="mask-icon" href="{{ site.chyrp_url }}/favicon.svg" color="#4f4f4f">
|
||
|
{{ theme.feeds() }}
|
||
|
{{ theme.stylesheets() }}
|
||
|
{{ theme.javascripts() }}
|
||
|
{{ trigger.call("end_head") }}
|
||
|
</head>
|
||
|
<body class="route_{{ route.action }}">
|
||
|
<!-- Mast -->
|
||
|
<nav>
|
||
|
<h1><a href="{{ url('/') }}">{{ site.name }}</a></h1>
|
||
|
<ul class="navigation">
|
||
|
<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="" placeholder="{{ 'Search this blog' | translate }}" aria-label="{{ 'Search this blog' | translate }}">
|
||
|
<button type="submit" id="search_submit">{{ "Find" | translate }}</button>
|
||
|
</form>
|
||
|
</nav>
|
||
|
{% 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 %}
|
||
|
<!-- Content -->
|
||
|
<main>
|
||
|
{% block content %}{% endblock %}
|
||
|
</main>
|
||
|
{{ 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>
|