X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=templates%2Fpager;fp=templates%2Fpager;h=3b6211d143fd61c9fad0d1adebd2f5888ceda420;hb=f3c82666d618b39536e46f123109699e552bd3e7;hp=8ff1ed0cd1b1d4cfb9b379375cc844f9bd88eefb;hpb=38d451265c88bf1f30828e0d218e3e7c51415e58;p=memories.git diff --git a/templates/pager b/templates/pager index 8ff1ed0..3b6211d 100644 --- a/templates/pager +++ b/templates/pager @@ -1,5 +1,4 @@ -[% IF pager.last_page > 1 %] - [% FOREACH num = [pager.first_page .. pager.last_page] %] +[% MACRO link_page(num) BLOCK; %] [% IF num == pager.current_page %] [% IF num < 10 %] @@ -16,4 +15,18 @@ [% END %] [% END %] -[% END %] +[% IF pager.last_page > 1; + SET begin_page = pager.current_page - 5; + IF begin_page < 1; + SET begin_page = pager.first_page; + END; + SET end_page = pager.current_page + 5; + IF pager.last_page < end_page; + SET end_page = pager.last_page; + END; + IF begin_page != 1; link_page(1); " ... "; END; + FOREACH num = [begin_page .. end_page]; + link_page(num); + END; + IF end_page != pager.last_page; "..."; link_page(pager.last_page); END; +END %]