88 lines
4.5 KiB
HTML
88 lines
4.5 KiB
HTML
<!-- retoor <retoor@molodetz.nl> -->
|
|
{% set seo = seo or {} %}
|
|
{% set viewer = current_user(request) %}
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
<title>{{ seo.title or app_title }}</title>
|
|
<meta name="description" content="{{ seo.description or '' }}">
|
|
<meta name="robots" content="{{ seo.robots or 'index,follow' }}">
|
|
<meta name="keywords" content="{{ seo.keywords or '' }}">
|
|
<meta name="asset-version" content="{{ static_version }}">
|
|
<meta name="theme-color" content="#0d0c0a">
|
|
{% if seo.canonical %}<link rel="canonical" href="{{ seo.canonical }}">{% endif %}
|
|
{% if seo.prev_url %}<link rel="prev" href="{{ seo.prev_url }}">{% endif %}
|
|
{% if seo.next_url %}<link rel="next" href="{{ seo.next_url }}">{% endif %}
|
|
<meta property="og:site_name" content="{{ app_title }}">
|
|
<meta property="og:title" content="{{ seo.title or app_title }}">
|
|
<meta property="og:description" content="{{ seo.description or '' }}">
|
|
<meta property="og:type" content="{{ seo.og_type or 'website' }}">
|
|
{% if seo.canonical %}<meta property="og:url" content="{{ seo.canonical }}">{% endif %}
|
|
{% if seo.og_image %}<meta property="og:image" content="{{ seo.og_image }}">{% endif %}
|
|
<meta property="og:locale" content="en_US">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="{{ seo.title or app_title }}">
|
|
<meta name="twitter:description" content="{{ seo.description or '' }}">
|
|
{% for block_json in seo.json_ld or [] %}
|
|
<script type="application/ld+json">{{ block_json | safe }}</script>
|
|
{% endfor %}
|
|
<link rel="icon" href="{{ static_url('/static/media/favicon.svg') }}" type="image/svg+xml">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/variables.css') }}">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/base.css') }}">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/layout.css') }}">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/content.css') }}">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/forms.css') }}">
|
|
<link rel="stylesheet" href="{{ static_url('/static/css/components.css') }}">
|
|
<link rel="modulepreload" href="{{ static_url('/static/js/Application.js') }}">
|
|
<link rel="modulepreload" href="{{ static_url('/static/js/components/index.js') }}">
|
|
{% block extra_head %}{% endblock %}
|
|
</head>
|
|
<body>
|
|
<a class="sr-only" href="#main">Skip to content</a>
|
|
<header class="site-header">
|
|
<nav class="site-nav" aria-label="Main menu">
|
|
<a class="brand" href="/">MOLODETZ</a>
|
|
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="nav-links">Menu</button>
|
|
<div class="nav-links" id="nav-links">
|
|
<a href="/roll" class="{{ nav_active(request, '/roll') }}">Roll</a>
|
|
<a href="/standard" class="{{ nav_active(request, '/standard') }}">Standard</a>
|
|
<a href="/flyers" class="{{ nav_active(request, '/flyers') }}">Flyers</a>
|
|
<a href="/memes" class="{{ nav_active(request, '/memes') }}">Memes</a>
|
|
<a href="/people" class="{{ nav_active(request, '/people') }}">People</a>
|
|
<a href="/join" class="{{ nav_active(request, '/join') }}">Join</a>
|
|
{% if viewer %}
|
|
<span class="nav-account">
|
|
{% if is_admin(viewer) %}<a href="/admin" class="{{ nav_active(request, '/admin') }}">Admin</a>{% endif %}
|
|
<a href="/notifications" class="{{ nav_active(request, '/notifications') }}">Notifications{% set unread = unread_count(request) %}{% if unread %}<span class="badge-count">{{ unread }}</span>{% endif %}</a>
|
|
<form method="post" action="/auth/logout"><button type="submit">Log out</button></form>
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<main id="main" class="page {% block main_class %}{% endblock %}">
|
|
{% if seo.breadcrumbs and seo.breadcrumbs | length > 1 %}
|
|
{% include "_breadcrumbs.html" %}
|
|
{% endif %}
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
<footer class="site-footer">
|
|
<div class="inner">
|
|
<span class="tagline">Molodetz. {{ setting('site_tagline') }}</span>
|
|
<a href="/docs">Docs</a>
|
|
<a href="/terms">Terms</a>
|
|
<a href="/privacy">Privacy</a>
|
|
{% if not viewer %}<a href="/auth/login" rel="nofollow">Log in</a>{% endif %}
|
|
<span>© {{ current_year() }}</span>
|
|
</div>
|
|
</footer>
|
|
<dp-toast></dp-toast>
|
|
<dp-lightbox></dp-lightbox>
|
|
<span class="response-time" title="Server render time">{{ response_time(request) }}</span>
|
|
<script type="module" src="{{ static_url('/static/js/Application.js') }}"></script>
|
|
{% block extra_js %}{% endblock %}
|
|
</body>
|
|
</html>
|