Назначение активного пункта меню

Современная верстка не мыслима без использования всевозможных препроцессоров (sass, less, slim, pug, и т.д.). Материала по ним предостаточно и пытливому, читающему разработчику не составит особого труда отыскать необходимое описание, ознакомиться с примерами использования. Но примеры не всегда отображают полный объем возникающих задач. Ниже идущий snippet дает возможность указывать активный класс пункта меню в зависимости от генерируемой страницы

Файл шаблона страницы условно — parent.pug

doctype 5

html
  block link
    -var selected = 'home'; //default

    -var menu = { 'home': '/home', 'blog': '/blog', 'contact': '/contact' };

body
  nav
    ul
      each val, key in menu
        li
          if selected === key
            a.selected(href=val, title=key)= key
          else
            a(href=val, title=key)= key

Файл страницы условно — child.pug

extends parent

block link
  -var selected = 'blog';