diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-25 06:05:06 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-25 06:05:06 +0300 |
commit | 74d943e1ef94b3e5f99c8c09d3873cedd6468b7d (patch) | |
tree | 63d7d8cec9dfb920a90f3b55cbbe699b5d26fe68 /_includes | |
parent | std::call_once: Markdown style fix (diff) | |
download | jekyll-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 '_includes')
-rw-r--r-- | _includes/common/navbar.html | 6 |
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> |