* Add feedshow option to allow reducing the number of items included in

an rss or atom feed.
master
joey 2007-02-05 21:54:36 +00:00
parent 4133ec4fab
commit 46f0f5bdc2
5 changed files with 35 additions and 16 deletions

View File

@ -190,20 +190,26 @@ sub preprocess_inline (@) { #{{{
} }
} }
if ($feeds && $rss) { if ($feeds) {
if (exists $params{feedshow} && @list > $params{feedshow}) {
@list=@list[0..$params{feedshow} - 1];
}
if ($rss) {
will_render($params{page}, rsspage($params{page})); will_render($params{page}, rsspage($params{page}));
writefile(rsspage($params{page}), $config{destdir}, writefile(rsspage($params{page}), $config{destdir},
genfeed("rss", $rssurl, $desc, $params{page}, @list)); genfeed("rss", $rssurl, $desc, $params{page}, @list));
$toping{$params{page}}=1 unless $config{rebuild}; $toping{$params{page}}=1 unless $config{rebuild};
$feedlinks{$params{destpage}}=qq{<link rel="alternate" type="application/rss+xml" title="RSS" href="$rssurl" />}; $feedlinks{$params{destpage}}=qq{<link rel="alternate" type="application/rss+xml" title="RSS" href="$rssurl" />};
} }
if ($feeds && $atom) { if ($atom) {
will_render($params{page}, atompage($params{page})); will_render($params{page}, atompage($params{page}));
writefile(atompage($params{page}), $config{destdir}, writefile(atompage($params{page}), $config{destdir},
genfeed("atom", $atomurl, $desc, $params{page}, @list)); genfeed("atom", $atomurl, $desc, $params{page}, @list));
$toping{$params{page}}=1 unless $config{rebuild}; $toping{$params{page}}=1 unless $config{rebuild};
$feedlinks{$params{destpage}}=qq{<link rel="alternate" type="application/atom+xml" title="Atom" href="$atomurl" />}; $feedlinks{$params{destpage}}=qq{<link rel="alternate" type="application/atom+xml" title="Atom" href="$atomurl" />};
} }
}
return $ret; return $ret;
} #}}} } #}}}

4
debian/changelog vendored
View File

@ -15,8 +15,10 @@ ikiwiki (1.42) UNRELEASED; urgency=low
* Lots of CGI code reorg and cleanup. * Lots of CGI code reorg and cleanup.
* Avoid using lots of memory when copying large non-html files. * Avoid using lots of memory when copying large non-html files.
Yes, you can keep videos in the wiki.. Yes, you can keep videos in the wiki..
* Add feedshow option to allow reducing the number of items included in
an rss or atom feed.
-- Joey Hess <joeyh@debian.org> Fri, 2 Feb 2007 21:59:04 -0500 -- Joey Hess <joeyh@debian.org> Mon, 5 Feb 2007 16:51:10 -0500
ikiwiki (1.41) unstable; urgency=low ikiwiki (1.41) unstable; urgency=low

View File

@ -1,3 +1,3 @@
Here is a full list of posts to my [[blog|index]]. Here is a full list of posts to my [[blog|index]].
[[inline pages="*blog/posts/* and !*/Discussion" archive=yes quick=yes]] [[inline pages="*blog/posts/* and !*/Discussion" archive=yes feedshow=10 quick=yes]]

View File

@ -18,6 +18,10 @@ directive:
* `show` - Specify the maximum number of matching pages to inline. * `show` - Specify the maximum number of matching pages to inline.
Default is 10, unless archiving, when the default is to show all. Default is 10, unless archiving, when the default is to show all.
Set to 0 to show all matching pages. Set to 0 to show all matching pages.
* `feedshow` - Specify the maximum number of matching pages to include in
the rss/atom feeds. The default is the same as the `show` value above,
and it cannot be larger than that value, but can be set to a smaller
value to avoid producing excessively large feed files.
* `skip` - Specify a number of pages to skip displaying. Can be useful * `skip` - Specify a number of pages to skip displaying. Can be useful
to produce a feed that only shows archived pages. to produce a feed that only shows archived pages.
* `rss` - controls generation of an rss feed. On by default if the wiki is * `rss` - controls generation of an rss feed. On by default if the wiki is

View File

@ -1,4 +1,11 @@
It should be possible to control the number of items included in a feed independently of the number of items included on the page (the latter, however, possibly setting an upper limit). This would be particularly useful on archive pages providing a feed. Presently the feed grows huge, if the archive page has no limit on the entries listed on it (as in the list of [all entries][ionfaq] in the Ion FAQ). An alternative useful filter would be filtering by the age of the page. It should be possible to control the number of items included in a feed
independently of the number of items included on the page (the latter,
however, possibly setting an upper limit). This would be particularly
useful on archive pages providing a feed. Presently the feed grows huge, if
the archive page has no limit on the entries listed on it (as in the list
of [all entries][ionfaq] in the Ion FAQ). An alternative useful filter
would be filtering by the age of the page.
[ionfaq]: http://iki.fi/tuomov/ion/faq/entries.html [ionfaq]: http://iki.fi/tuomov/ion/faq/entries.html
> [[todo/Done]], option name is `feedshow` --[[Joey]]