{% set skip_titles=['Events'] %}

{% macro link_page_title(page) -%}
{% if page.title == 'toc' %}{{ page.ancestors[-1].title }}{% else %}{{ page.title }}{% endif %}
{%- endmacro %}

<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    {% if previous_page and previous_page.title not in skip_titles %}
    <a href={{ previous_page.url }}>
        <span class="fa fa-arrow-left"></span>
        Previous: {{ link_page_title(previous_page) }}
    </a>
    {% endif %}
    </li>
    <li class="pull-right">
    {% if next_page and next_page.title not in skip_titles %}
    <a href={{ next_page.url }}>
        Next: {{ link_page_title(next_page) }}
        <span class="fa fa-arrow-right"></span>
    </a>
    {% endif %}
    </li>
</ul>
