site/_includes/section_nav.html (40 lines of code) (raw):

{% comment %} Map grabs the doc sections, giving us an array of arrays. Join, flattens all the items to a comma delimited string. Split turns it into an array again. {% endcomment %} {% assign docs = site.data.docs | map: 'docs' | join: ',' | split: ',' %} {% comment %} Because this is built for every page, lets find where we are in the ordered document list by comparing url strings. Then if there's something previous or next, lets build a link to it. {% endcomment %} {% for document in docs %} {% assign document_url = document | prepend:"/docs/" | append:".html" %} {% if document_url == page.url %} <div class="section-nav"> <div class="left align-right"> {% if forloop.first %} <span class="prev disabled">Previous</span> {% else %} {% assign previous = forloop.index0 | minus: 1 %} {% capture previous_page %}{{ site.baseurl }}{{docs[previous] | prepend:"/docs/" | append:".html" }}{% endcapture %} <a href="{{ previous_page }}" class="prev">Previous</a> {% endif %} </div> <div class="right align-left"> {% if forloop.last %} <span class="next disabled">Next</span> {% else %} {% assign next = forloop.index0 | plus: 1 %} {% capture next_page %}{{ site.baseurl }}{{ docs[next] | prepend:"/docs/" | append:".html" }}{% endcapture %} {% comment %} See CALCITE-2036 for an explanation of the replacement below {% endcomment %} <a href="{{ next_page | replace: '/docs/api.html', '/javadocAggregate/' }}" class="next">Next</a> {% endif %} </div> </div> <div class="clear"></div> {% break %} {% endif %} {% endfor %}