aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2017-06-25 07:17:43 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2017-06-25 07:17:43 +0300
commit4723776beee0ac571d826e8598e8ec3a5359729b (patch)
tree008d118c56a86fb2240c3706829a14b43e046477
parentfix post pagination links (diff)
downloadsorting-algorithms-4723776beee0ac571d826e8598e8ec3a5359729b.tar.gz
sorting-algorithms-4723776beee0ac571d826e8598e8ec3a5359729b.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 posts/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 /posts//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.
-rw-r--r--_includes/common/navbar.html6
-rw-r--r--posts/index.html1
2 files changed, 7 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>
diff --git a/posts/index.html b/posts/index.html
index fb21dbf..fb91205 100644
--- a/posts/index.html
+++ b/posts/index.html
@@ -4,6 +4,7 @@ layout: sidebar
groups:
- navbar
navbar_link: <span class="glyphicon glyphicon-th-list"></span>&nbsp;Posts
+root_page: true
---
{% if site.posts.size == 0 %}
<p class="h3">Sorry, no posts have been added yet.</p>