pagestats: Add show parameter. Closes: #562129

master
Joey Hess 2009-12-25 14:31:51 -05:00
parent dbf0f25346
commit 3a1c8c2b46
3 changed files with 22 additions and 0 deletions

View File

@ -63,6 +63,16 @@ sub preprocess (@) {
$max = $counts{$page} if $counts{$page} > $max; $max = $counts{$page} if $counts{$page} > $max;
} }
if (exists $params{show}) {
my $i=0;
my %show;
foreach my $key (sort { $counts{$b} <=> $counts{$a} } keys %counts) {
last if ++$i > $params{show};
$show{$key}=$counts{$key};
}
%counts=%show;
}
if ($style eq 'table') { if ($style eq 'table') {
return "<table class='pageStats'>\n". return "<table class='pageStats'>\n".
join("\n", map { join("\n", map {

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
ikiwiki (3.20091219) UNRELEASED; urgency=low
* pagestats: Add show parameter. Closes: #562129
-- Joey Hess <joeyh@debian.org> Fri, 25 Dec 2009 14:31:22 -0500
ikiwiki (3.20091218) unstable; urgency=low ikiwiki (3.20091218) unstable; urgency=low
* Add complete Spanish basewiki translation done by Fernando Gonzalez de * Add complete Spanish basewiki translation done by Fernando Gonzalez de

View File

@ -22,4 +22,10 @@ Or to display a cloud of tags related to Linux, you could use:
\[[!pagestats pages="tags/* and not tags/linux" among="tagged(linux)"]] \[[!pagestats pages="tags/* and not tags/linux" among="tagged(linux)"]]
The optional `show` parameter limits display to the specified number of
pages. For instance, to show a table of the top ten pages with the most
links:
\[[!pagestats style="table" show="10"]]
[[!meta robots="noindex, follow"]] [[!meta robots="noindex, follow"]]