{% if include.maxPages %}
{% assign maxPages = include.maxPages %}
{% else %}
{% assign maxPages = 5 %}
{% endif %}
{% assign halfPages = maxPages | divided_by: 2 %}
{% assign right-margin = paginator.total_pages | minus: paginator.page %}
{% if paginator.page <= halfPages %}
{% assign start = 1 %}
{% if paginator.total_pages > maxPages %}
{% assign end = maxPages %}
{% else %}
{% assign end = paginator.total_pages %}
{% endif %}
{% elsif right-margin <= halfPages %}
{% assign start = paginator.total_pages | minus: maxPages | plus: 1 | append: ',' | append: 1 | split: ',' | sort | last | plus: 0 %}
{% assign end = paginator.total_pages %}
{% else %}
{% assign position-less-half = paginator.page | minus: halfPages %}
{% if position-less-half < 1 %}
{% assign start = 1 %}
{% else %}
{% assign start = position-less-half %}
{% endif %}
{% assign position-plus-half = paginator.page | plus: halfPages %}
{% if position-plus-half > paginator.total_pages %}
{% assign end = paginator.total_pages %}
{% else %}
{% assign end = position-plus-half %}
{% endif %}
{% endif %}
{% if start > 1 %}
{% endif %}
{% for num in (start..end) %}
{% endfor %}
{% if end < paginator.total_pages %}
{% endif %}