]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/aggregate.mdwn
pedigree rename to parentlinks: renamed files, to start with
[ikiwiki.git] / doc / plugins / aggregate.mdwn
index 95c8534b0b7a8a01083e4b00f5869a3a7803c70e..574c8b125e9486e3433a89711eddd4ebbab03fb0 100644 (file)
@@ -1,19 +1,26 @@
-This plugin allows content from other blogs to be aggregated into the wiki.
-Aggregate a blog as follows:
+[[template id=plugin name=aggregate author="[[Joey]]"]]
+[[tag type/useful]]
+
+This plugin allows content from other feeds to be aggregated into the wiki.
+Aggregate a feed as follows
 
 
-       \[[aggregate name="example blog" feedurl="http://example.com/index.rss" url="http://example.com/" updateinterval="15"]
+       \[[aggregate name="example blog"
+       feedurl="http://example.com/index.rss"
+       url="http://example.com/" updateinterval="15"]]
 
 
-That example aggregates posts from the expecified RSS feed, updating no
+That example aggregates posts from the specified RSS feed, updating no
 more frequently than once every 15 minutes, and puts a page per post under
 the example/ directory in the wiki.
 
 more frequently than once every 15 minutes, and puts a page per post under
 the example/ directory in the wiki.
 
-You can then use ikiwiki's [[blog]] support to create a blog of one or more
-aggregated feeds.
+You can then use ikiwiki's [[ikiwiki/blog]] support to create a blog of one or
+more aggregated feeds.
 
 ## setup
 
 Make sure that you have the [[html]] plugin enabled, as the created pages are
 
 ## setup
 
 Make sure that you have the [[html]] plugin enabled, as the created pages are
-in html format. The [[tag]] plugin is also recommended.
+in html format. The [[meta]] and [[tag]] plugins are also recommended. The
+[[htmltidy]] plugin is suggested, since feeds can easily contain html
+problems, some of which tidy can fix.
 
 You will need to run ikiwiki periodically from a cron job, passing it the
 --aggregate parameter, to make it check for new posts. Here's an example
 
 You will need to run ikiwiki periodically from a cron job, passing it the
 --aggregate parameter, to make it check for new posts. Here's an example
@@ -21,6 +28,14 @@ crontab entry:
 
        */15 * * * * ikiwiki --setup my.wiki --aggregate --refresh
 
 
        */15 * * * * ikiwiki --setup my.wiki --aggregate --refresh
 
+Alternatively, you can allow `ikiwiki.cgi` to trigger the aggregation. You
+should only need this if for some reason you cannot use cron, and instead
+want to use a service such as [WebCron](http://webcron.org). To enable
+this, enable on `aggregate_webtrigger` in your setup file. The url to
+visit is `http://whatever/ikiwiki.cgi?do=aggregate_webtrigger`. Anyone
+can visit the url to trigger an aggregation run, but it will only check
+each feed if its `updateinterval` has passed.
+
 ## usage
 
 Here are descriptions of all the supported parameters to the `aggregate`
 ## usage
 
 Here are descriptions of all the supported parameters to the `aggregate`
@@ -28,27 +43,25 @@ directive:
 
 * `name` - A name for the feed. Each feed must have a unique name.
   Required.
 
 * `name` - A name for the feed. Each feed must have a unique name.
   Required.
-* `url` - The url to the web page for the blog that's being aggregated.
+* `url` - The url to the web page for the feed that's being aggregated.
   Required.
 * `dir` - The directory in the wiki where pages should be saved. Optional,
   if not specified, the directory is based on the name of the feed.
 * `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
   Required.
 * `dir` - The directory in the wiki where pages should be saved. Optional,
   if not specified, the directory is based on the name of the feed.
 * `feedurl` - The url to the feed. Optional, if it's not specified ikiwiki
-  will look for feeds on the `blogurl`. RSS and atom feeds are supported.
+  will look for feeds on the `url`. RSS and atom feeds are supported.
 * `updateinterval` - How often to check for new posts, in minutes. Default
   is 15 minutes.
 * `updateinterval` - How often to check for new posts, in minutes. Default
   is 15 minutes.
-* `expireage` - Expire old items from this blog if they are older than
+* `expireage` - Expire old items from this feed if they are older than
   a specified number of days. Default is to never expire on age.
   a specified number of days. Default is to never expire on age.
-* `expirecount` - Expire old items from this blog if there are more than
+* `expirecount` - Expire old items from this feed if there are more than
   the specified number total. Oldest items will be expired first. Default
   is to never expire on count.
   the specified number total. Oldest items will be expired first. Default
   is to never expire on count.
-* `tag` - A tag to tag each post from the blog with. A good tag to use is
-  the name of the blog. Can be repeated multiple times. The [[tag]] plugin
+* `tag` - A tag to tag each post from the feed with. A good tag to use is
+  the name of the feed. Can be repeated multiple times. The [[tag]] plugin
   must be enabled for this to work.
   must be enabled for this to work.
+* `template` - Template to use for creating the html pages. Defaults to
+  aggregatepost.
 
 Note that even if you are using subversion or another revision control
 system, pages created by aggregation will *not* be checked into revision
 control.
 
 Note that even if you are using subversion or another revision control
 system, pages created by aggregation will *not* be checked into revision
 control.
-
-This plugin is not enabled by default.
-
-[[tag type/useful]]