aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/_includes/common
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2017-06-25 06:05:06 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2017-06-25 06:05:06 +0300
commit74d943e1ef94b3e5f99c8c09d3873cedd6468b7d (patch)
tree63d7d8cec9dfb920a90f3b55cbbe699b5d26fe68 /_includes/common
parentstd::call_once: Markdown style fix (diff)
downloadjekyll-theme-74d943e1ef94b3e5f99c8c09d3873cedd6468b7d.tar.gz
jekyll-theme-74d943e1ef94b3e5f99c8c09d3873cedd6468b7d.zip
fix navbar links with multiple pages
I determine whether a page should be present in the navigation bar by checking if 'navbar' is present in this page's `groups`. My index.html is an example of such page. But `jekyll-paginate` creates a bunch of similar pages, each of them having 'navbar' in their `groups`. Thus, every /pageN appears in the navbar. To get rid of all of them except for the first one, I set `root_page` to `true` in index.html, and only include the first page with `root_page == true` in the navbar. Man, it's a hack if I've ever seen one.
Diffstat (limited to '')
-rw-r--r--_includes/common/navbar.html6
1 files changed, 6 insertions, 0 deletions
diff --git a/_includes/common/navbar.html b/_includes/common/navbar.html
index ea0bae7..d2f5ea3 100644
--- a/_includes/common/navbar.html
+++ b/_includes/common/navbar.html
@@ -12,6 +12,12 @@
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
{% for node in site.pages %}
+ {% if node.root_page %}
+ {% if navbar_has_root_page %}
+ {% continue %}
+ {% endif %}
+ {% assign navbar_has_root_page = true %}
+ {% endif %}
{% if node.groups contains 'navbar' %}
{% if page.url == node.url %}
<li class="active"><a href="{{ site.baseurl }}{{ node.url }}" class="active">{{ node.navbar_link }}</a></li>