Skip to content

Instantly share code, notes, and snippets.

@timsavory
Created December 14, 2014 19:52
Show Gist options
  • Save timsavory/a294eb648966372c2f99 to your computer and use it in GitHub Desktop.
Save timsavory/a294eb648966372c2f99 to your computer and use it in GitHub Desktop.
Code Sample
==
{# Note: Only one levels of sublinks are supported by Bootstrap 3 #}
{% set
links = {
'home': ['home', 'Home'],
'about': ['about', 'About Me'],
'portfolio': {
name: 'Guides',
sublinks: {
'portfolio': ['portfolio/portfolio', 'Portfolio'],
'project': ['portfolio/project', 'Project'],
},
},
'blog': ['blog', 'Blog'],
'contact': ['contact', 'Contact']
}
%}
{% macro render_menu(links) %}
{% for code, link in links %}
<li class="{{ code == currentPage ? 'active' }} {{ link.sublinks ? 'dropdown' }}">
<a
href="{{ link.sublinks ? '#' : (link.page ?: link[0])|page }}"
{% if link.sublinks %}data-toggle="dropdown"{% endif %}
class="{{ link.sublinks ? 'dropdown-toggle' }}"
>
{{ link.name ?: link[1] }}
{% if link.sublinks %}<span class="caret"></span>{% endif %}
</a>
{% if link.sublinks %}
<span class="dropdown-arrow"></span>
<ul class="dropdown-menu">
{{ _self.render_menu(link.sublinks) }}
</ul>
{% endif %}
</li>
{% endfor %}
{% endmacro %}
{% import _self as nav %}
<nav id="layout-nav" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{{ 'home'|page }}"></a>
</div>
<div class="collapse navbar-collapse navbar-main-collapse">
<ul class="nav navbar-nav navbar-right">
{{ nav.render_menu(links) }}
<!--
<li>
<button
onclick="window.location='{{ 'samples/signin'|page }}'"
class="btn btn-sm navbar-btn btn-primary navbar-right hidden-sm hidden-xs">
Sign in
</button>
</li>
-->
</ul>
</div>
</div>
</nav>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment