document aggregateinternal

master
Joey Hess 2008-07-14 20:06:53 -04:00
parent 51bf0ea529
commit 3ebb012e3f
4 changed files with 50 additions and 8 deletions

View File

@ -25,6 +25,11 @@ Note that if the page contains wiki links with spaces, which some
older versions of ikiwiki accepted, the prefix_directives transition will
treat these as preprocessor directives and convert them.
# aggregateinternal
The `aggregateinternal` mode moves pages aggregated by the aggregate plugin
so that the `aggregateinternal` option can be endabled
# indexdb
The `indexdb` mode handles converting a plain text `.ikiwiki/index` file to

View File

@ -174,8 +174,11 @@ use IkiWiki::Setup::Standard {
# pages anonymous users can edit
#anonok_pagespec => "*",
# For use with the aggregate plugin, to allow aggregation to be
# triggered via the web.
# For use with the aggregate plugin.
# Enable aggregation to internal pages. Read aggregate plugin docs
# before enabling.
#aggregateinternal => 1,
# Allow aggregation to be triggered via the web.
#aggregate_webtrigger => 1,
# For use with the pinger plugin, how many seconds to wait before

View File

@ -2,9 +2,9 @@
[[tag type/useful]]
This plugin allows content from other feeds to be aggregated into the wiki.
Aggregate a feed as follows
Aggregate a feed as follows:
\[[aggregate name="example blog"
\[[aggregate name="example blog" dir="example"
feedurl="http://example.com/index.rss"
url="http://example.com/" updateinterval="15"]]
@ -13,7 +13,9 @@ 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 [[ikiwiki/blog]] support to create a blog of one or
more aggregated feeds.
more aggregated feeds. For example:
\[[inline pages="internal(example/*)"]]
## setup
@ -31,7 +33,7 @@ crontab entry:
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
this, turn 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.
@ -59,9 +61,40 @@ directive:
* `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 html pages. Defaults to
* `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
control.
## internal pages
This plugin creates a page for each aggregated item.
Currently, by default, these pages have the ".html" extension, and are
first-class wiki pages -- which allows them to be inlined into blogs
and even edited.
That turns out to not be ideal for aggregated content, because publishing
files for each of those pages is a waste of disk space and CPU, and you probably
don't want to allow them to be edited. So, there is an alternate method
that can be used, turned on by the `aggregateinternal` option in the setup
file.
If `aggregateinternal` is enabled, aggregated pages are stored in the source
directory with a "._aggregate" extension. These pages cannot be edited by
web users, and do not generate first-class wiki pages. They can only be
inlined into a blog.
If you are already using aggregate and want to enable `aggregateinternal`,
you should follow this process:
1. Update all [[PageSpecs|ikiwiki/PageSpec]] that refer to the aggregated
pages -- such as those in inlines. Put "internal()" around globs
in those PageSpecs. For example, if the PageSpec was "foo/*", it should
be changed to "internal(foo/*)". This has to be done because internal
pages are not matched by regular globs.
2. Use [[ikiwiki-transition]] to move all existing aggregated `.html`
files. The command to run is `ikiwiki-transition aggregateinternal $srcdir`
3. Turn on `aggregateinternal` in the setup file and rebuild the wiki.

View File

@ -42,7 +42,8 @@ backwards compatability.
Still in the early planning stages, version 3.0 will be an opportunity to
make significant transitions.
* Default to using prefix_directives.
* Default to using `prefix_directives`.
* Default to using `aggregateinternal`.
----