Merge remote-tracking branch 'smcv/pagestats-show'

master
Simon McVittie 2015-11-30 20:58:54 +00:00
commit 72c3b81efb
2 changed files with 21 additions and 2 deletions

View File

@ -31,6 +31,19 @@ sub getsetup () {
},
}
sub linktext ($%) {
# Return the text of the link to a tag, depending on option linktext.
my ($page, %params) = @_;
if (exists $params{show} &&
exists $pagestate{$page} &&
exists $pagestate{$page}{meta}{$params{show}}) {
return $pagestate{$page}{meta}{$params{show}};
}
else {
return undef;
}
}
sub preprocess (@) {
my %params=@_;
$params{pages}="*" unless defined $params{pages};
@ -84,7 +97,7 @@ sub preprocess (@) {
return "<table class='".(exists $params{class} ? $params{class} : "pageStats")."'>\n".
join("\n", map {
"<tr><td>".
htmllink($params{page}, $params{destpage}, $_, noimageinline => 1).
htmllink($params{page}, $params{destpage}, $_, noimageinline => 1, linktext => linktext($_, %params)).
"</td><td>".$counts{$_}."</td></tr>"
}
sort { $counts{$b} <=> $counts{$a} } keys %counts).
@ -107,7 +120,7 @@ sub preprocess (@) {
$res.="<li>" if $style eq 'list';
$res .= "<span class=\"$class\">".
htmllink($params{page}, $params{destpage}, $page).
htmllink($params{page}, $params{destpage}, $page, linktext => linktext($page, %params)).
"</span>\n";
$res.="</li>" if $style eq 'list';

View File

@ -40,4 +40,10 @@ that name still works, if its value is numeric.
The optional `class` parameter can be used to control the class
of the generated tag cloud `div` or page stats `table`.
By default, the names of pages are shown. The `show` parameter
can be used (with a non-numeric value) to show the titles or descriptions
of pages instead (as set by the [[meta]] directive). For example:
\[[!pagestats pages="tags/*" show="title"]]
[[!meta robots="noindex, follow"]]