{% macro pagination(total, current, url, nearbyPagesLimit = 1) %}
{% if total > 1 %}
<nav aria-label="Pagination">
<ul class="pagination">
{% if current > 1 %}
<li class="page-item">
<a class="page-link" href="{{ url ~ (current - 1) }}">«</a>
</li>
{% endif %}
{% if current > (nearbyPagesLimit + 1) %}
<li class="page-item">
<a class="page-link" href="{{ url ~ 1 }}">1</a>
</li>
<li class="page-item disabled">
<span class="page-link">...</span>
</li>
{% endif %}
{% for i in (current - nearbyPagesLimit)..current %}
{% if i > 0 %}
{% if i == current %}
<li class="page-item active">
<span class="page-link">{{ i }}</span>
</li>
{% else %}
<li class="page-item">
<a class="page-link" href="{{ url ~ i }}">{{ i }}</a>
</li>
{% endif %}
{% endif %}
{% endfor %}
{% for i in (current + 1)..(current + nearbyPagesLimit) %}
{% if i <= total %}
<li class="page-item">
<a class="page-link" href="{{ url ~ i }}">{{ i }}</a>
</li>
{% endif %}
{% endfor %}
{% if current < (total - nearbyPagesLimit) %}
<li class="page-item disabled">
<span class="page-link">...</span>
</li>
<li class="page-item">
<a class="page-link" href="{{ url ~ total }}">{{ total }}</a>
</li>
{% endif %}
{% if current < total %}
<li class="page-item">
<a class="page-link" href="{{ url ~ (current + 1) }}">»</a>
</li>
{% endif %}
</ul>
</nav>
{% endif %}
{% endmacro %}
{{ _self.pagination(total, current, url) }}