Eliseu Amaro
c8daa82c1d
According to 'High Performance Web Sites' (ISBN 10: 0596529309), @import has a negative impact on web page performance. Since all imports dependant on base.css will only start downloading after that one is fully gathered.
121 lines
5.3 KiB
Twig
121 lines
5.3 KiB
Twig
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
{% block meta %}
|
|
{# This is far from perfect. The response headers should already come with this. #}
|
|
{% if app.request.server.get('APP_ENV') not in ['test', 'dev'] %}
|
|
<meta http-equiv="Content-Security-Policy" content="default-src https:">{% endif %}
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="home" href="/">
|
|
{% endblock %}
|
|
|
|
<title>
|
|
{% block title %}{% endblock %}
|
|
</title>
|
|
|
|
{% block stylesheets %}
|
|
<link rel='preload' type='text/css' as='style' href="{{ asset('assets/default_theme/fonts/opensans/opensans.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/fonts/opensans/opensans.css') }}">
|
|
|
|
<link rel='preload' type='text/css' as='style' href="{{ asset('assets/default_theme/fonts/poppins/poppins.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/fonts/poppins/poppins.css') }}">
|
|
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/css/root.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/css/reset.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/css/base.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/css/widgets/buttons.css') }}">
|
|
<link rel='stylesheet' type='text/css' href="{{ asset('assets/default_theme/css/widgets/sections.css') }}">
|
|
|
|
{% for stylesheet in show_stylesheets(app.request.get('_route')) %}
|
|
<link rel='preload' type='text/css' as='style' href="{{ preload(asset(stylesheet), { as: 'style' }) }}">
|
|
<link rel='stylesheet' type='text/css' as='style' href="{{ asset(stylesheet) }}">
|
|
{% endfor %}
|
|
{% endblock %}
|
|
|
|
{% for arr in handle_event('ShowHeadElements', app.request) %}
|
|
{# Only one element, but has dynamic value, can't access it directly #}
|
|
{% for type, element in arr %}
|
|
<{{ type }} rel="{{ element['rel'] }}" type="{{ element['type'] }}" href="{{ element['href'] }}" title="{{ element['title'] }}">
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
{% for block in handle_event('AppendToHead', app.request) %}
|
|
{{ block | raw }}
|
|
{% endfor %}
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<aside class="accessibility-menu">
|
|
<h2 class="accessibility-menu-title" tabindex="0">{{ 'Accessibility menu.' | trans }}</h2>
|
|
<p tabindex="0">{{ 'Here you can find fast shortcuts to various page regions!' | trans }}</p>
|
|
<p tabindex="0">{{ 'Provided the following keyboard shortcut, the link is targeted.' | trans }}</p>
|
|
<br>
|
|
<p tabindex="0">{{ 'Be mindful that another ' | trans }}<kbd>Tab</kbd>{{ ' is needed in order to focus.' | trans }}
|
|
</p>
|
|
<p tabindex="0">
|
|
{% if is_firefox() == true %}
|
|
<em><kbd>Alt</kbd> + <kbd>Shift</kbd> + "access key"</em>
|
|
{% else %}
|
|
<em><kbd>Alt</kbd> + "access key"</em>
|
|
{% endif %}
|
|
</p>
|
|
<br>
|
|
|
|
<a id="anchor-accessibility-menu" accesskey="z" href="#anchor-accessibility-menu">
|
|
<strong>{{ 'The keyboard key ' | trans }}<kbd>Z</kbd>{{ ' accesses this menu.' | trans }}</strong>
|
|
<strong>{{ 'The other access keys are:' | trans }}</strong>
|
|
</a>
|
|
|
|
<nav>
|
|
<ul>
|
|
<li><a href="#anchor-left-panel" accesskey="h"><kbd>H</kbd>{{ ' for the Left panel.' | trans }}</a></li>
|
|
<li><a href="#anchor-main-content" accesskey="k"><kbd>K</kbd>{{ ' for the main content.' | trans }}</a></li>
|
|
<li><a href="#anchor-main-page" accesskey="j"><kbd>J</kbd>{{ ' for the main page.' | trans }}</a></li>
|
|
<li><a href="#anchor-right-panel" accesskey="l"><kbd>L</kbd>{{ ' for the right panel.' | trans }}</a></li>
|
|
</ul>
|
|
</nav>
|
|
</aside>
|
|
|
|
{% block header %}
|
|
{% set extra_header_forms = handle_event('AddExtraHeaderForms', request) %}
|
|
|
|
<header class="page-header">
|
|
{{ block("leftpanel", "stdgrid.html.twig") }}
|
|
|
|
<a id="anchor-main-page" class="anchor-hidden"
|
|
title="{{ 'Press tab to access instance\'s main page.' | trans }}"></a>
|
|
<a class="accessibility-target header-instance" href="{{ path('feed_public') }}" tabindex="0"
|
|
title="{{ 'This instance\'s name. Access public feed.' | trans }}">
|
|
<h1>{{ icon('logo', 'icon icon-logo') | raw }}{{ config('site', 'name') }}</h1>
|
|
</a>
|
|
|
|
<details class="header-extra-actions">
|
|
<summary>
|
|
{{ icon('kebab', 'icon icon-details-open') | raw }}
|
|
</summary>
|
|
<div class="header-extra-actions-open">
|
|
{% for extra_form in extra_header_forms %}
|
|
{{ form(extra_form) }}
|
|
{% endfor %}
|
|
</div>
|
|
</details>
|
|
|
|
{{ block("rightpanel", "stdgrid.html.twig") }}
|
|
</header>
|
|
{% endblock header %}
|
|
|
|
<div class="page-content-wrapper">
|
|
<a role="navigation" rel="help" id="anchor-main-content" class="anchor-hidden"
|
|
title="{{ 'Press tab to access main content.' | trans }}"></a>
|
|
<div class='page-content accessibility-target'>
|
|
{% block nav %}{% endblock %}
|
|
{% block body %}{% endblock %}
|
|
{% block javascripts %}{% endblock javascripts %}
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|