html.html.twig 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. * - rorschach_path: Returns the path to an Rorschach theme.
  23. * - noscript_styles: <noscript> content.
  24. *
  25. * @see template_preprocess_html()
  26. */
  27. #}
  28. {%
  29. set body_classes = [
  30. logged_in ? 'user-logged-in',
  31. not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
  32. node_type ? 'page-node-type-' ~ node_type|clean_class,
  33. db_offline ? 'db-offline',
  34. ]
  35. %}
  36. <!DOCTYPE html>
  37. <html{{ html_attributes }}>
  38. <head>
  39. <head-placeholder token="{{ placeholder_token }}">
  40. <title>{{ head_title|safe_join(' | ') }}</title>
  41. <css-placeholder token="{{ placeholder_token }}">
  42. <js-placeholder token="{{ placeholder_token }}">
  43. {% include '@rorschach/includes/preload.twig' with { rorschach_path: rorschach_path } only %}
  44. {{ noscript_styles }}
  45. </head>
  46. <body{{ attributes.addClass(body_classes) }}>
  47. {#
  48. Keyboard navigation/accessibility link to main content section in
  49. page.html.twig.
  50. #}
  51. <a href="#main-content" class="visually-hidden focusable skip-link">
  52. {{ 'Skip to main content'|t }}
  53. </a>
  54. {{ page_top }}
  55. {{ page }}
  56. {{ page_bottom }}
  57. <js-bottom-placeholder token="{{ placeholder_token }}">
  58. </body>
  59. </html>