{% macro pagination(page) %} {% macro render_link(title, page_number) %} {{ title }} {% endmacro %} {% if page.has_other_pages() %} {% if page.has_previous() %} {{ render_link(title="Previous", page_number=page.number - 1) }} {% else %} Previous {% endif %} {% for p in page.paginator.get_elided_page_range(page.number, on_each_side=2, on_ends=3) %} {% if p != page.paginator.ELLIPSIS %} {{ render_link(title=p, page_number=p) }} {% else %} {{ page.paginator.ELLIPSIS }} {% endif %} {% endfor %} {% if page.has_next() %} {{ render_link(title="Next", page_number=page.number + 1) }} {% else %} Next {% endif %} {% endif %} {% endmacro %}