{% macro paginator(p, nb=3, url=None, arg_name='page') %} {% if p.pages > 1 %} {% set start = 1 if p.page <= nb else p.page - nb %} {% set end = p.pages if p.page + nb > p.pages else p.page + nb %} {% set first_page_out_of_range = start > 1 %} {% set more_pages_out_of_start_range = start > 2 %} {% set last_page_out_of_range = end < p.pages %} {% set more_pages_out_of_end_range = end + 1 < p.pages %} {% endif %} {% endmacro %}