Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AdeptSEO/67e1ca7a4639013296919eb3ab00cd3e to your computer and use it in GitHub Desktop.
Save AdeptSEO/67e1ca7a4639013296919eb3ab00cd3e to your computer and use it in GitHub Desktop.
Set Active Class on Nav-Menu-Item in Nunjucks

In html/about/index.html:

{% extends "layouts/layout.njk" %}

{% set base_path = "../../" %}
{% set page_title = "about" %} 

In data.json:

{
  "navItems" : [
    {
      "menu_item" : "lab"
    },
    {
      "menu_item" : "about"
    },
    {
      "menu_item" : "contact"
    }
  ]
}

In html/components/nav.njk

<ul class="nav-menu" id="primary-menu">
  {% for item in navItems %}
    <li class="menu-item menu-item-{{ item.menu_item }}{% if page_title == item.menu_item %} menu-item-current{% endif %}"><a href="../{{ item.menu_item | lower | replace(" ", "") }}/">{{ item.menu_item }}</a></li>
  {% endfor %}
</ul> 

HTML output:

<ul class="nav-menu" id="primary-menu">
  <li class="menu-item menu-item-lab"><a href="../lab/">lab</a></li>
  <li class="menu-item menu-item-about menu-item-current"><a href="../about/">about</a></li>
  <li class="menu-item menu-item-contact"><a href="../contact/">contact</a></li>
</ul>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment