{% for row in rows %} {% include "_row.html" %} {% else %} {# ``after`` is set only on a paging request: an exhausted page is not an empty result set, so it must not claim there is nothing here. #} {% if not after %} Nothing matches this view yet. {% endif %} {% endfor %} {% if cursor %} {# The trigger row swaps *itself* for the next page plus a fresh trigger, so rows accumulate. Its URL carries the current search and filters: the next page has to be drawn from the same result set the reader is already looking at. #} {% endif %}