/usr/share/httpd/grav/user/themes/quark/templates/partials/base.html.twig (1)
{# -------------------------------------------------------------------------- #}
{# base.html.twig
{# ==============
{#
{# Project Root Server
{# Scope Native
{# Copyright (C) 2024 by RaySoft, Zurich, Switzerland
{# License GNU General Public License (GPL) 2.0
{# https://www.gnu.org/licenses/gpl2.txt
{#
{# -------------------------------------------------------------------------- #}
{% set body_classes = body_class(['header-fixed', 'header-animated', 'header-dark', 'header-transparent', 'sticky-footer']) %}
{% set grid_size = theme_var('grid-size') %}
{% set compress = theme_var('production-mode') ? '.min.css' : '.css' %}
<!DOCTYPE html>
<html lang="{{ grav.language.getActive ?: grav.config.site.default_lang }}">
<head>
{% block head deferred %}
<meta charset="utf-8" />
<title>{% if page.title %}{{ page.title|e('html') }} | {% endif %}{{ site.title|e('html') }}</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% include 'partials/metadata.html.twig' %}
<link rel="icon" type="image/png" href="{{ url('theme://images/favicon.png') }}" />
<link rel="canonical" href="{{ page.url(true, true) }}" />
<link rel="alternate" type="application/atom+xml" title="RaySoft - Blog" href="{{ base_url }}/berichte.atom" />
<link rel="alternate" type="application/rss+xml" title="RaySoft - Blog" href="{{ base_url }}/berichte.rss" />
<link rel="alternate" type="application/json" title="RaySoft - Blog" href="{{ base_url }}/berichte.json" />
{% endblock head %}
{% block stylesheets %}
{% do assets.addCss('theme://css-compiled/spectre'~compress) %}
{% if theme_var('spectre.exp') %}{% do assets.addCss('theme://css-compiled/spectre-exp'~compress) %}{% endif %}
{% if theme_var('spectre.icons') %}{% do assets.addCss('theme://css-compiled/spectre-icons'~compress) %}{% endif %}
{% do assets.addCss('theme://css-compiled/theme'~compress) %}
{% do assets.addCss('theme://css/custom.css') %}
{% do assets.addCss('theme://css/line-awesome.min.css') %}
{% endblock %}
{% block javascripts %}
{% do assets.addJs('jquery', 101) %}
{% do assets.addJs('theme://js/jquery.treemenu.js', {group:'bottom'}) %}
{% do assets.addJs('theme://js/site.js', {group:'bottom'}) %}
{% endblock %}
{% block assets deferred %}
{{ assets.css()|raw }}
{{ assets.js()|raw }}
{% endblock %}
</head>
<body id="top" class="{% block body_classes %}{{ body_classes }}{% endblock %}">
<div id="page-wrapper">
{% block header deferred %}
<section id="header" class="section">
<section class="container {{ grid_size }}">
<nav class="navbar">
<section class="navbar-section logo">
{% include 'partials/logo.html.twig' %}
</section>
<section class="navbar-section desktop-menu">
<nav class="dropmenu animated">
{% block header_navigation %}
{% include 'partials/navigation.html.twig' %}
{% endblock %}
</nav>
{% if config.plugins.login.enabled and grav.user.username %}
<span class="login-status-wrapper"><i class="fa fa-user"></i> {% include 'partials/login-status.html.twig' %}</span>
{% endif %}
</section>
</nav>
</section>
</section>
<div class="mobile-menu">
<div class="button_container" id="toggle">
<span class="top"></span>
<span class="middle"></span>
<span class="bottom"></span>
</div>
</div>
{% endblock %}
{% block hero %}{% endblock %}
<section id="start">
{% block body %}
<section id="body-wrapper" class="section">
<section class="container {{ grid_size }}">
{% block messages %}
{% include 'partials/messages.html.twig' ignore missing %}
{% endblock %}
{% block content %}{% endblock %}
</section>
</section>
{% endblock %}
</section>
</div>
{% block footer %}
{% include 'partials/footer.html.twig' %}
{% endblock %}
<div class="mobile-container">
<div class="overlay" id="overlay">
<div class="mobile-logo">
{% include 'partials/logo.html.twig' with {mobile: true} %}
</div>
<nav class="overlay-menu">
{% include 'partials/navigation.html.twig' with {tree: true} %}
</nav>
</div>
</div>
{% block bottom %}
{{ assets.js('bottom')|raw }}
{% endblock %}
</body>
</html>
Usage
See Grav Howto (1)