summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2010-04-15 14:29:14 -0400
committerJoey Hess <joey@gnu.kitenet.net>2010-04-15 14:29:14 -0400
commitfe733e2a424f50227e4a501c3efbf1ce43e07352 (patch)
tree8c21c92b96583c22748df32a4025ac514da0c736
parent3131433f64235ad5425eb93d5773580b607876fb (diff)
enhance pagestats and rework example blog front page
* pagestats: Class parameter can be used to override default class for custom styling. * pagestats: Use style=list to get a list of tags, scaled by use like in a tag cloud. This is useful to put in a sidebar. * Rework example blog front page.
-rw-r--r--IkiWiki/Plugin/pagestats.pm21
-rw-r--r--debian/changelog5
-rw-r--r--doc/examples/blog/archives.mdwn7
-rw-r--r--doc/examples/blog/comments.mdwn2
-rw-r--r--doc/examples/blog/index.mdwn12
-rw-r--r--doc/ikiwiki/directive/pagestats.mdwn11
6 files changed, 49 insertions, 9 deletions
diff --git a/IkiWiki/Plugin/pagestats.pm b/IkiWiki/Plugin/pagestats.pm
index 1c0b46830..48715bd3e 100644
--- a/IkiWiki/Plugin/pagestats.pm
+++ b/IkiWiki/Plugin/pagestats.pm
@@ -75,7 +75,7 @@ sub preprocess (@) {
}
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).
@@ -87,16 +87,31 @@ sub preprocess (@) {
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)];
+
+ $res.="<li>" if $style eq 'list';
$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;
}
diff --git a/debian/changelog b/debian/changelog
index 7c607b2a5..c2b0c3c23 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -31,6 +31,11 @@ ikiwiki (3.20100410) UNRELEASED; urgency=low
specify which pages to include on the calendar archive pages.
(The pagespec can still also be specified on the ikiwiki-calendar command
line.)
+ * pagestats: Class parameter can be used to override default class for
+ custom styling.
+ * pagestats: Use style=list to get a list of tags, scaled by use like
+ in a tag cloud. This is useful to put in a sidebar.
+ * Rework example blog front page.
-- Joey Hess <joeyh@debian.org> Sun, 04 Apr 2010 12:17:11 -0400
diff --git a/doc/examples/blog/archives.mdwn b/doc/examples/blog/archives.mdwn
new file mode 100644
index 000000000..14686cdfe
--- /dev/null
+++ b/doc/examples/blog/archives.mdwn
@@ -0,0 +1,7 @@
+[[!if test="enabled(calendar)" then="""
+Browse through blog archives by year:
+[[!map pages="./archives/* and !./archives/*/* and !*/Discussion"]]
+"""
+else="""
+Calendar based archives are not enabled. See [[posts]] for a full list of posts.
+"""]]
diff --git a/doc/examples/blog/comments.mdwn b/doc/examples/blog/comments.mdwn
index 4735dea08..0b503ba01 100644
--- a/doc/examples/blog/comments.mdwn
+++ b/doc/examples/blog/comments.mdwn
@@ -1,3 +1,3 @@
-This page will show all comments made to posts in my [[blog|index]].
+This page will show recent comments made to posts in the [[blog|index]].
[[!inline pages="./posts/*/Discussion or internal(./posts/*/comment_*)"]]
diff --git a/doc/examples/blog/index.mdwn b/doc/examples/blog/index.mdwn
index 01b714fcd..b273ba1a9 100644
--- a/doc/examples/blog/index.mdwn
+++ b/doc/examples/blog/index.mdwn
@@ -1,9 +1,13 @@
-[[!pagestats pages="./tags/*" among="./posts/*"]]
+[[!template id=note text="""
-Welcome to my blog.
+* [[Tags]]: [[!pagestats style="list" pages="./tags/*" among="./posts/*"]]
+* [[Recent_Comments|comments]]
+* [[Archives]]
-Have a look at the most recent posts below, or browse the tag cloud on the
-right. Archives of all [[posts]] and all [[comments]] are also available.
+[[!if test="enabled(calendar)" then="""
+[[!calendar pages="./posts/* and !*/Discussion"]]
+
+"""]]
[[!inline pages="./posts/* and !*/Discussion" show="10"
actions=yes rootpage="posts"]]
diff --git a/doc/ikiwiki/directive/pagestats.mdwn b/doc/ikiwiki/directive/pagestats.mdwn
index 68f4d2734..d0e0e7be7 100644
--- a/doc/ikiwiki/directive/pagestats.mdwn
+++ b/doc/ikiwiki/directive/pagestats.mdwn
@@ -4,10 +4,16 @@ This directive can generate stats about how pages link to each other. It can
produce either a tag cloud, or a table counting the number of links to each
page.
-Here's how to use it to create a [[tag]] cloud:
+Here's how to use it to create a [[tag]] cloud, with tags sized based
+on frequency of use:
\[[!pagestats pages="tags/*"]]
+Here's how to create a list of tags, sized by use as they would be in a
+cloud.
+
+ \[[!pagestats style="list" pages="tags/*"]]
+
And here's how to create a table of all the pages on the wiki:
\[[!pagestats style="table"]]
@@ -28,4 +34,7 @@ links:
\[[!pagestats style="table" show="10"]]
+The optional `class` parameter can be used to control the class
+of the generated tag cloud `div` or page stats `table`.
+
[[!meta robots="noindex, follow"]]