path: root/ikiwiki/directive/aggregate.mdwn
diff options
Diffstat (limited to 'ikiwiki/directive/aggregate.mdwn')
1 files changed, 57 insertions, 0 deletions
diff --git a/ikiwiki/directive/aggregate.mdwn b/ikiwiki/directive/aggregate.mdwn
new file mode 100644
index 0000000..ddfcd40
--- /dev/null
+++ b/ikiwiki/directive/aggregate.mdwn
@@ -0,0 +1,57 @@
+The `aggregate` directive is supplied by the [[!iki plugins/aggregate desc=aggregate]] plugin.
+This plugin requires extra setup, specifically, a cron job. See the
+plugin's documentation for details.
+This directive allows content from other feeds to be aggregated into the wiki.
+Aggregate a feed as follows:
+ \[[!aggregate name="example blog" dir="example"
+ feedurl=""
+ url="" updateinterval="15"]]
+That example aggregates posts from the specified RSS feed, updating no
+more frequently than once every 15 minutes (though possibly less
+frequently, if the cron job runs less frequently than that), and puts a
+page per post under the example/ directory in the wiki.
+You can then use ikiwiki's [[inline]] directive to create a blog of one or
+more aggregated feeds. For example:
+ \[[!inline pages="internal(example/*)"]]
+Note the use of `internal()` in the [[ikiwiki/PageSpec]] to match
+aggregated pages. By default, aggregated pages are internal pages,
+which prevents them from showing up directly in the wiki, and so this
+special [[PageSpec]] is needed to match them.
+## usage
+Here are descriptions of all the supported parameters to the `aggregate`
+* `name` - A name for the feed. Each feed must have a unique name.
+ Required.
+* `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
+ 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.
+* `expireage` - Expire old items from this feed if they are older than
+ a specified number of days. Default is to never expire on age.
+* `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.
+* `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.
+* `template` - Template to use for creating the aggregated 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
+[[!meta robots="noindex, follow"]]