X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=templates%2Fpager;h=3b6211d143fd61c9fad0d1adebd2f5888ceda420;hb=5acf53e85633363aa8a207e9e08448f27a4544f9;hp=8ff1ed0cd1b1d4cfb9b379375cc844f9bd88eefb;hpb=3741acaec618fde1e4c230ee2a503987746235e4;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 %]