{%- comment -%} Previous/Next pager following the sidebar order: top-level pages by nav_order, then the server, client, and extensions collections. {%- endcomment -%} {%- assign top_pages = site.html_pages | where_exp: "item", "item.nav_order" | sort: "nav_order" -%} {%- assign server_docs = site.server | sort: "nav_order" -%} {%- assign client_docs = site.client | sort: "nav_order" -%} {%- assign extensions_docs = site.extensions | sort: "nav_order" -%} {%- assign ordered_pages = top_pages | concat: server_docs | concat: client_docs | concat: extensions_docs -%} {%- assign pager_state = "before" -%} {%- assign prev_page = nil -%} {%- assign next_page = nil -%} {%- for item in ordered_pages -%} {%- if pager_state == "current" -%} {%- assign next_page = item -%} {%- assign pager_state = "after" -%} {%- elsif item.url == page.url -%} {%- assign pager_state = "current" -%} {%- elsif pager_state == "before" -%} {%- assign prev_page = item -%} {%- endif -%} {%- endfor -%} {%- if pager_state != "before" -%} {%- endif -%}