Skip to content

Instantly share code, notes, and snippets.

View mariohernandez's full-sized avatar
✌️

Mario Hernandez mariohernandez

✌️
View GitHub Profile
{{ attach_library('your-namespace-here/navigation') }}
{% import _self as menus %}
{{ menus.menu_links(items, attributes, 0) }}
{% macro menu_links(items, attributes, menu_level) %}
{% import _self as menus %}
{% if items %}
{% if menu_level == 0 %}
{%
set classes = [
'block',
'block-' ~ configuration.provider|clean_class,
'block-' ~ plugin_id|clean_class,
]
%}
{% set attributes = attributes.addClass(classes) %}
{% embed '@sixflags_theme/main-menu/main-menu.twig' with {
attributes: attributes,
items:
- title: 'Home'
url: '#'
menu_level: 0
- title: 'About Us'
url: '#'
menu_level: 0
below:
- title: 'Our Team'
url: '#'
{#
/**
* @file
* Theme override to display a menu.
*
* Available variables:
* - menu_name: The machine name of the menu.
* - items: A nested list of menu items. Each menu item contains:
* - attributes: HTML attributes for the menu item.
* - below: The menu item child items.
.navigation__menu {
background-color: #fff;
list-style-type: none;
margin: 0;
padding: 0;
position: relative;
z-index: 20;
// Align top level list items in a row using flexbox.
&.navigation--level-1 {
{% import _self as menus %}
{{ menus.main_menu(items, attributes, 0) }}
{% macro main_menu(items, attributes, menu_level) %}
{% import _self as menus %}
{% if items %}
{% if menu_level == 0 %}
<ul{{ attributes }}>
{% else %}
<ul>
<li>
<a href="#">Top level link</a>
</li>
<li>
<a href="#">Top level link</a>
<ul>
<li>
<a href="#">First submenu link</a>
<ul>
<nav class="main-menu">
<ul class="main-menu__list">
<li class="main-menu__item main-menu__item--level-0">
<a href="/" class="main-menu__link">About Us</a>
</li>
<li class="main-menu__item main-menu__item--level-0">
<a href="#" class="main-menu__link">Our Services</a>
<ul class="main-menu__submenu">
<li class="main-menu__item main-menu__item--level-1">
<a href="#" class="main-menu__link">Training</a>
# Custom configuration for Stylelint.
#
# Preset all items to warning to prevent breaking themes.
# Delete line to activate linter build-breaking errors.
defaultSeverity: warning
# Plugins integrated.
plugins:
- stylelint-scss
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
$settings['cache']['bins']['page'] = 'cache.backend.null';