1{#
2/**
3 * @file
4 * Theme override for the basic structure of a single Drupal page.
5 *
6 * Variables:
7 * - logged_in: A flag indicating if user is logged in.
8 * - root_path: The root path of the current page (e.g., node, admin, user).
9 * - node_type: The content type for the current node, if the page is a node.
10 * - head_title: List of text elements that make up the head_title variable.
11 *   May contain one or more of the following:
12 *   - title: The title of the page.
13 *   - name: The name of the site.
14 *   - slogan: The slogan of the site.
15 * - page_top: Initial rendered markup. This should be printed before 'page'.
16 * - page: The rendered page markup.
17 * - page_bottom: Closing rendered markup. This variable should be printed after
18 *   'page'.
19 * - db_offline: A flag indicating if the database is offline.
20 * - placeholder_token: The token for generating head, css, js and js-bottom
21 *   placeholders.
22 *
23 * @see template_preprocess_html()
24 */
25#}
26<!DOCTYPE html>
27<html{{ html_attributes }}>
28  <head>
29    <head-placeholder token="{{ placeholder_token|raw }}">
30    <title>{{ head_title|safe_join(' | ') }}</title>
31    <css-placeholder token="{{ placeholder_token|raw }}">
32    <js-placeholder token="{{ placeholder_token|raw }}">
33  </head>
34  <body{{ attributes }}>
35    {#
36      Keyboard navigation/accessibility link to main content section in
37      page.html.twig.
38    #}
39    <a href="#main-content" class="visually-hidden focusable">
40      {{ 'Skip to main content'|t }}
41    </a>
42    {{ page_top }}
43    {{ page }}
44    {{ page_bottom }}
45    <js-bottom-placeholder token="{{ placeholder_token|raw }}">
46  </body>
47</html>
48