projects
/
ikiwiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added a comment
[ikiwiki.git]
/
IkiWiki
/
Plugin
/
pagestats.pm
diff --git
a/IkiWiki/Plugin/pagestats.pm
b/IkiWiki/Plugin/pagestats.pm
index e64f7d9c38869ae1baf5734101f8afe705f90e9f..17b26f7baa75ed3b3e68c95f310f6821227d0c89 100644
(file)
--- a/
IkiWiki/Plugin/pagestats.pm
+++ b/
IkiWiki/Plugin/pagestats.pm
@@
-27,6
+27,7
@@
sub getsetup () {
plugin => {
safe => 1,
rebuild => undef,
plugin => {
safe => 1,
rebuild => undef,
+ section => "widget",
},
}
},
}
@@
-37,16
+38,17
@@
sub preprocess (@) {
my %counts;
my $max = 0;
my %counts;
my $max = 0;
- foreach my $page (
use_pagespec
($params{page}, $params{pages},
-
# update when a displayed page is added or
removed
- deptype => deptype("presence"))) {
+ foreach my $page (
pagespec_match_list
($params{page}, $params{pages},
+
# update when a displayed page is added/
removed
+
deptype => deptype("presence"))) {
use IkiWiki::Render;
my @backlinks = IkiWiki::backlink_pages($page);
if (exists $params{among}) {
# only consider backlinks from the amoung pages
use IkiWiki::Render;
my @backlinks = IkiWiki::backlink_pages($page);
if (exists $params{among}) {
# only consider backlinks from the amoung pages
- @backlinks = use_pagespec($params{page}, $params{among},
+ @backlinks = pagespec_match_list(
+ $params{page}, $params{among},
# update whenever links on those pages change
deptype => deptype("links"),
list => \@backlinks
# update whenever links on those pages change
deptype => deptype("links"),
list => \@backlinks
@@
-62,8
+64,18
@@
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='
".(exists $params{class} ? $params{class} : "pageStats")."
'>\n".
join("\n", map {
"<tr><td>".
htmllink($params{page}, $params{destpage}, $_, noimageinline => 1).
join("\n", map {
"<tr><td>".
htmllink($params{page}, $params{destpage}, $_, noimageinline => 1).
@@
-75,16
+87,31
@@
sub preprocess (@) {
else {
# In case of misspelling, default to a page cloud
else {
# In case of misspelling, default to a page cloud
- my $res = "<div class='pagecloud'>\n";
+ my $res;
+ if ($style eq 'list') {
+ $res = "<ul class='".(exists $params{class} ? $params{class} : "list")."'>\n";
+ }
+ else {
+ $res = "<div class='".(exists $params{class} ? $params{class} : "pagecloud")."'>\n";
+ }
foreach my $page (sort keys %counts) {
next unless $counts{$page} > 0;
my $class = $classes[$counts{$page} * scalar(@classes) / ($max + 1)];
foreach my $page (sort keys %counts) {
next unless $counts{$page} > 0;
my $class = $classes[$counts{$page} * scalar(@classes) / ($max + 1)];
+
+ $res.="<li>" if $style eq 'list';
$res .= "<span class=\"$class\">".
htmllink($params{page}, $params{destpage}, $page).
"</span>\n";
$res .= "<span class=\"$class\">".
htmllink($params{page}, $params{destpage}, $page).
"</span>\n";
+ $res.="</li>" if $style eq 'list';
+
+ }
+ if ($style eq 'list') {
+ $res .= "</ul>\n";
+ }
+ else {
+ $res .= "</div>\n";
}
}
- $res .= "</div>\n";
return $res;
}
return $res;
}