Blagh blättern - letzte Seite
Eigentlich ist es zu einfach. Zugegeben, blagh ist nicht darauf ausgelegt, dass man die Begrenzung auf der wirklich letzten Seite anzeigen kann, aber es geht ja auch anders: letzte Seite +1 gibt Meldung.
Hier der Patch:
--- /usr/local/werc/apps/blagh/app.rc 2010-09-10 09:26:57.000000000 +0200
+++ /usr/local/werc/apps/blagh/app.rc 2010-09-10 09:25:28.000000000 +0200
@@ -78,9 +78,10 @@
# An user can add this on their own using handlers_body_head anyway.
echo '<div style="text-align:right">(<a href="index.rss">RSS Feed</a> | <a href="index.atom">Atom Feed</a>)</div>'
+ list=`{get_post_list $blagh_root^$blagh_dirs $1}
{
# XXX Not sure why this fixes issues with blog setup, probably bug in fltr_cache!
- for(p in `{get_post_list $blagh_root^$blagh_dirs $1}) {
+ for(p in $list) {
l=`{echo -n $p|sed 's!'$sitedir^'/?(.*)([0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9])(/[^/]+/)!\2 /\1\2\3!'}
sed '1s!.*^') ('^$l(1)^')!' < $p/index.md
echo # Needed extra \n so markdown doesn't mess up the formatting, probably can be done in sed.
@@ -89,10 +90,15 @@
# TODO: use fltr_cache directly, that can fix the previous bug plus provide a perf boost by caching title generation.
} | $formatter
+ if(~ $list '') {
+ echo '<p>Das Ende. Ab hier geht es nicht mehr weiter, kannst du machen, was du willst.'
+ }
+
echo '<div class="navi">'
if(expr $1 '>' 0 >/dev/null)
echo '<a href="'^$blagh_uri^'page/'^`{expr $1 '-' 1}^'" id="skip_forward"><< neuer</a>'
- echo '<a href="'^$blagh_uri^'page/'^`{expr $1 '+' 1}^'" id="skip_back">älter >></a>'
+ if(! ~ $list '')
+ echo '<a href="'^$blagh_uri^'page/'^`{expr $1 '+' 1}^'" id="skip_back">älter >></a>'
echo '</div>'
}
MßG