diff --git a/src/static/css/diary.css b/src/static/css/diary.css index 4ed6b0a..167690b 100755 --- a/src/static/css/diary.css +++ b/src/static/css/diary.css @@ -12,7 +12,7 @@ ul { list-style-position: inside; } .grid { display: grid; grid-template-columns: auto 533px 267px auto; - grid-template-rows: 25px 90px 40px repeat(2, auto); + grid-template-rows: 25px 90px 40px auto 40px auto; grid-column-gap: 0px; grid-row-gap: 0px; } @@ -124,7 +124,6 @@ ul { list-style-position: inside; } } .diary-dir { - grid-area: 3 / 1 / 4 / 5; background-color: #080410; color: #F9B3D7; font-size: 20px; @@ -142,6 +141,9 @@ ul { list-style-position: inside; } .diary-dir a:active { color: #f463ad; } +.diary-dir.top { + grid-area: 3 / 1 / 4 / 5; +} .body-row { grid-area: 4 / 1 / 5 / 5; @@ -237,8 +239,12 @@ ul { list-style-position: inside; } padding-bottom: 15px; } -.footer-row { +.diary-dir.bottom { grid-area: 5 / 1 / 6 / 5; +} + +.footer-row { + grid-area: 6 / 1 / 7 / 5; background-color: #080410; } diff --git a/src/views/diary.tpl b/src/views/diary.tpl index a1a4f75..0b26632 100644 --- a/src/views/diary.tpl +++ b/src/views/diary.tpl @@ -1,7 +1,7 @@ % rebase('frame.tpl') % import re
-
+
% max_pages = int((total - 1) / limit) <% @@ -91,5 +91,65 @@
% end
+
+
+ % max_pages = int((total - 1) / limit) +<% + # page never below 0 + if page <= 0: + page = 0 + end + # page never over maximum + if page > max_pages: + page = max_pages + end +%> + % # << is always active link pointing to 0 + << + + % # < points to 0 if page 0 or below + % if page <= 0: + < + % # < points to previous page otherwise + % else: + < + % end + % # fill out number cluster to the left when page is high + % if max_pages > cluster and page > max_pages - cluster: + % for j in range(cluster - max_pages + page): + {{max_pages - cluster * 2 + j}} + % end + % end + + % # form cluster of number links around page + % for i in range(max(0,page - cluster), min(max_pages + 1,page + cluster + 1)): + % # bold current page number + % if i == page: + {{i}} + % # form neighboring numbers into links + % else: + {{i}} + % end + % end + + % # fill out number cluster to the right when page is low + % if page <= cluster - 1 and max_pages > page + cluster: + % for j in range(cluster - page): + {{page + j + cluster + 1}} + % end + % end + + % # > points to max if page is at or above maximum + % if page >= max_pages: + > + % # > point to next page otherwise + % else: + > + % end + + % # >> is always active link to maximum page + >> +
+
% include diary-boxes.tpl