byceps/blueprints/common/core/templates/macros/pagination.html
{% from 'macros/icons.html' import render_icon %}
{% macro render_pagination_nav(pagination, endpoint, url_args=None) %}
{%- if pagination.pages > 1 %}
<nav class="pagination is-hcentered">
<ol>
{%- if pagination.has_prev %}
<li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, pagination.prev_num)) }}" title="{{ _('Previous page') }}">{{ render_icon('arrow-left') }}</a></li>
{%- endif %}
{%- for page in pagination.iter_pages(left_edge=2, left_current=1, right_current=2, right_edge=2) %}
{%- if page %}
{%- if page != pagination.page %}
<li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, page)) }}">{{ page }}</a></li>
{%- else %}
<li class="pagination-item pagination--current"><span>{{ page }}</span></li>
{%- endif %}
{%- else %}
<li>…</li>
{%- endif %}
{%- endfor %}
{%- if pagination.has_next %}
<li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, pagination.next_num)) }}" title="{{ _('Next page') }}">{{ render_icon('arrow-right') }}</a></li>
{%- endif %}
</ol>
</nav>
{%- endif %}
{% endmacro %}