1 [[template id=plugin name=aggregate author="[[Joey]]"]]
4 This plugin allows content from other feeds to be aggregated into the wiki.
5 Aggregate a feed as follows
7 \[[aggregate name="example blog"
8 feedurl="http://example.com/index.rss"
9 url="http://example.com/" updateinterval="15"]]
11 That example aggregates posts from the specified RSS feed, updating no
12 more frequently than once every 15 minutes, and puts a page per post under
13 the example/ directory in the wiki.
15 You can then use ikiwiki's [[ikiwiki/blog]] support to create a blog of one or
16 more aggregated feeds.
20 Make sure that you have the [[html]] plugin enabled, as the created pages are
21 in html format. The [[meta]] and [[tag]] plugins are also recommended. The
22 [[htmltidy]] plugin is suggested, since feeds can easily contain html
23 problems, some of which tidy can fix.
25 You will need to run ikiwiki periodically from a cron job, passing it the
26 --aggregate parameter, to make it check for new posts. Here's an example
29 */15 * * * * ikiwiki --setup my.wiki --aggregate --refresh
31 Alternatively, you can allow `ikiwiki.cgi` to trigger the aggregation. You
32 should only need this if for some reason you cannot use cron, and instead
33 want to use a service such as [WebCron](http://webcron.org). To enable
34 this, enable on `aggregate_webtrigger` in your setup file. The url to
35 visit is `http://whatever/ikiwiki.cgi?do=aggregate_webtrigger`. Anyone
36 can visit the url to trigger an aggregation run, but it will only check
37 each feed if its `updateinterval` has passed.
41 Here are descriptions of all the supported parameters to the `aggregate`
44 * `name` - A name for the feed. Each feed must have a unique name.
46 * `url` - The url to the web page for the feed that's being aggregated.
48 * `dir` - The directory in the wiki where pages should be saved. Optional,
49 if not specified, the directory is based on the name of the feed.
50 * `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
51 will look for feeds on the `url`. RSS and atom feeds are supported.
52 * `updateinterval` - How often to check for new posts, in minutes. Default
54 * `expireage` - Expire old items from this feed if they are older than
55 a specified number of days. Default is to never expire on age.
56 * `expirecount` - Expire old items from this feed if there are more than
57 the specified number total. Oldest items will be expired first. Default
58 is to never expire on count.
59 * `tag` - A tag to tag each post from the feed with. A good tag to use is
60 the name of the feed. Can be repeated multiple times. The [[tag]] plugin
61 must be enabled for this to work.
62 * `template` - Template to use for creating the html pages. Defaults to
65 Note that even if you are using subversion or another revision control
66 system, pages created by aggregation will *not* be checked into revision