Преглед на файлове

created eql starter theme

bach преди 3 години
родител
ревизия
948a2655ed

+ 1 - 0
config/sync/core.extension.yml

@@ -113,6 +113,7 @@ module:
 theme:
   seven: 0
   adminimal_theme: 0
+  eql: 0
 profile: figli_starter_kit
 _core:
   default_config_hash: R4IF-ClDHXxblLcG0L7MgsLvfBIMAvi_skumNFQwkDc

+ 1 - 0
config/sync/system.theme.yml

@@ -2,3 +2,4 @@ admin: adminimal_theme
 langcode: fr
 _core:
   default_config_hash: TpdA4rsOBAawnqeon9A-Ooht_4VO3hHKib79xyHcTyg
+default: eql

+ 5 - 0
web/themes/custom/eql/config/schema/eql.schema.yml

@@ -0,0 +1,5 @@
+# Schema for the configuration files of the eql theme.
+
+eql.settings:
+  type: theme_settings
+  label: 'EQL settings'

+ 18 - 0
web/themes/custom/eql/eql.breakpoints.yml

@@ -0,0 +1,18 @@
+eql.mobile:
+  label: mobile
+  mediaQuery: '(min-width: 0px)'
+  weight: 0
+  multipliers:
+   - 1x
+eql.narrow:
+  label: narrow
+  mediaQuery: 'all and (min-width: 480px) and (max-width: 959px)'
+  weight: 1
+  multipliers:
+    - 1x
+eql.wide:
+  label: wide
+  mediaQuery: 'all and (min-width: 960px)'
+  weight: 2
+  multipliers:
+    - 1x

+ 22 - 0
web/themes/custom/eql/eql.info.yml

@@ -0,0 +1,22 @@
+name: EQL
+type: theme
+description: 'EQL theme.'
+package: Core
+version: VERSION
+core_version_requirement: ^8.8 || ^9
+base theme: false
+
+regions:
+  header_top_left: 'Header top left'
+  header_top_rigth: 'Header top right'
+  header_bottom: 'Header Bottom'
+  help: Help
+  page_top: 'Page top'
+  content: Content
+  sidebar_first: 'Sidebar first'
+  sidebar_second: 'Sidebar second'
+  page_bottom: 'Page bottom'
+  footer_top: 'Footer top'
+  footer_bottom_left: 'Footer bottom left'
+  footer_bottom_middle: 'Footer bottom middle'
+  footer_bottom_right: 'Footer bottom right'

+ 55 - 0
web/themes/custom/eql/templates/layout/html.html.twig

@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override for the basic structure of a single Drupal page.
+ *
+ * Variables:
+ * - logged_in: A flag indicating if user is logged in.
+ * - root_path: The root path of the current page (e.g., node, admin, user).
+ * - node_type: The content type for the current node, if the page is a node.
+ * - head_title: List of text elements that make up the head_title variable.
+ *   May contain one or more of the following:
+ *   - title: The title of the page.
+ *   - name: The name of the site.
+ *   - slogan: The slogan of the site.
+ * - page_top: Initial rendered markup. This should be printed before 'page'.
+ * - page: The rendered page markup.
+ * - page_bottom: Closing rendered markup. This variable should be printed after
+ *   'page'.
+ * - db_offline: A flag indicating if the database is offline.
+ * - placeholder_token: The token for generating head, css, js and js-bottom
+ *   placeholders.
+ *
+ * @see template_preprocess_html()
+ */
+#}
+{%
+  set body_classes = [
+    logged_in ? 'user-logged-in',
+    not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
+    node_type ? 'page-node-type-' ~ node_type|clean_class,
+    db_offline ? 'db-offline',
+  ]
+%}
+<!DOCTYPE html>
+<html{{ html_attributes }}>
+  <head>
+    <head-placeholder token="{{ placeholder_token }}">
+    <title>{{ head_title|safe_join(' | ') }}</title>
+    <css-placeholder token="{{ placeholder_token }}">
+    <js-placeholder token="{{ placeholder_token }}">
+  </head>
+  <body{{ attributes.addClass(body_classes) }}>
+    {#
+      Keyboard navigation/accessibility link to main content section in
+      page.html.twig.
+    #}
+    <a href="#main-content" class="visually-hidden focusable skip-link">
+      {{ 'Skip to main content'|t }}
+    </a>
+    {{ page_top }}
+    {{ page }}
+    {{ page_bottom }}
+    <js-bottom-placeholder token="{{ placeholder_token }}">
+  </body>
+</html>

+ 75 - 0
web/themes/custom/eql/templates/layout/page.html.twig

@@ -0,0 +1,75 @@
+{#
+/**
+ * @file
+ * Theme override to display a single page.
+ *
+ * The doctype, html, head and body tags are not in this template. Instead they
+ * can be found in the html.html.twig template in this directory.
+ *
+ * Available variables:
+ *
+ * General utility variables:
+ * - base_path: The base URL path of the Drupal installation. Will usually be
+ *   "/" unless you have installed Drupal in a sub-directory.
+ * - is_front: A flag indicating if the current page is the front page.
+ * - logged_in: A flag indicating if the user is registered and signed in.
+ * - is_admin: A flag indicating if the user has permission to access
+ *   administration pages.
+ *
+ * Site identity:
+ * - front_page: The URL of the front page. Use this instead of base_path when
+ *   linking to the front page. This includes the language domain or prefix.
+ *
+ * Page content (in order of occurrence in the default page.html.twig):
+ * - node: Fully loaded node, if there is an automatically-loaded node
+ *   associated with the page and the node ID is the second argument in the
+ *   page's path (e.g. node/12345 and node/12345/revisions, but not
+ *   comment/reply/12345).
+ *
+ * @see template_preprocess_page()
+ * @see html.html.twig
+ */
+#}
+<div class="layout-container">
+
+  <header role="banner">
+    <section id="header-top">
+      {{ page.header_top_left }}
+      {{ page.header_top_rigth }}
+    </section>
+    {{ page.header_bottom }}
+  </header>
+
+  {{ page.help }}
+
+  <main role="main">
+    <a id="main-content" tabindex="-1"></a>{# link is in html.html.twig #}
+
+    <div class="layout-content">
+      {{ page.content }}
+    </div>{# /.layout-content #}
+
+    {% if page.sidebar_first %}
+      <aside class="layout-sidebar-first" role="complementary">
+        {{ page.sidebar_first }}
+      </aside>
+    {% endif %}
+
+    {% if page.sidebar_second %}
+      <aside class="layout-sidebar-second" role="complementary">
+        {{ page.sidebar_second }}
+      </aside>
+    {% endif %}
+
+  </main>
+
+  <footer role="contentinfo">
+    {{ page.footer_top }}
+    <section id="fotter-bottom">
+      {{ page.footer_left }}
+      {{ page.footer_middle }}
+      {{ page.footer_right }}
+    </section>
+  </footer>
+
+</div>{# /.layout-container #}