enable aggregate_internal by default
parent
276798fbca
commit
14a9e704c1
|
@ -46,7 +46,7 @@ sub getsetup () {
|
||||||
},
|
},
|
||||||
aggregateinternal => {
|
aggregateinternal => {
|
||||||
type => "boolean",
|
type => "boolean",
|
||||||
example => 0,
|
example => 1,
|
||||||
description => "enable aggregation to internal pages?",
|
description => "enable aggregation to internal pages?",
|
||||||
safe => 0, # enabling needs manual transition
|
safe => 0, # enabling needs manual transition
|
||||||
rebuild => 0,
|
rebuild => 0,
|
||||||
|
@ -61,6 +61,10 @@ sub getsetup () {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub checkconfig () {
|
sub checkconfig () {
|
||||||
|
if (! defined $config{aggregateinternal}) {
|
||||||
|
$config{aggregateinternal}=1;
|
||||||
|
}
|
||||||
|
|
||||||
if ($config{aggregate} && ! ($config{post_commit} &&
|
if ($config{aggregate} && ! ($config{post_commit} &&
|
||||||
IkiWiki::commit_hook_enabled())) {
|
IkiWiki::commit_hook_enabled())) {
|
||||||
launchaggregation();
|
launchaggregation();
|
||||||
|
|
|
@ -5,10 +5,6 @@ This plugin allows content from other feeds to be aggregated into the
|
||||||
wiki. To specify feeds to aggregate, use the
|
wiki. To specify feeds to aggregate, use the
|
||||||
[[ikiwiki/directive/aggregate]] [[ikiwiki/directive]].
|
[[ikiwiki/directive/aggregate]] [[ikiwiki/directive]].
|
||||||
|
|
||||||
New users of aggregate should enable the `aggregateinternal => 1` option in the
|
|
||||||
.setup file. If you don't do so, you will need to enable the [[html]] plugin
|
|
||||||
as well as aggregate itself, since feed entries will be stored as HTML.
|
|
||||||
|
|
||||||
The [[meta]] and [[tag]] plugins are also recommended. Either the
|
The [[meta]] and [[tag]] plugins are also recommended. Either the
|
||||||
[[htmltidy]] or [[htmlbalance]] plugin is suggested, since feeds can easily
|
[[htmltidy]] or [[htmlbalance]] plugin is suggested, since feeds can easily
|
||||||
contain html problems, some of which these plugins can fix.
|
contain html problems, some of which these plugins can fix.
|
||||||
|
@ -27,37 +23,19 @@ visit is `http://whatever/ikiwiki.cgi?do=aggregate_webtrigger`. Anyone
|
||||||
can visit the url to trigger an aggregation run, but it will only check
|
can visit the url to trigger an aggregation run, but it will only check
|
||||||
each feed if its `updateinterval` has passed.
|
each feed if its `updateinterval` has passed.
|
||||||
|
|
||||||
## internal pages and `aggregateinternal`
|
## aggregated pages
|
||||||
|
|
||||||
This plugin creates a page for each aggregated item.
|
This plugin creates a page for each aggregated item.
|
||||||
|
|
||||||
If the `aggregateinternal` option is enabled in the setup file (which is
|
If the `aggregateinternal` option is enabled in the setup file (which is
|
||||||
recommended), aggregated pages are stored in the source directory with a
|
the default), aggregated pages are stored in the source directory with a
|
||||||
"._aggregated" extension. These pages cannot be edited by web users, and
|
"._aggregated" extension. These pages cannot be edited by web users, and
|
||||||
do not generate first-class wiki pages. They can still be inlined into a
|
do not generate first-class wiki pages. They can still be inlined into a
|
||||||
blog, but you have to use `internal` in [[PageSpecs|IkiWiki/PageSpec]],
|
blog, but you have to use `internal` in [[PageSpecs|IkiWiki/PageSpec]],
|
||||||
like `internal(blog/*)`.
|
like `internal(blog/*)`.
|
||||||
|
|
||||||
For backward compatibility, the default is that these pages have the
|
If `aggregateinternal` is disabled, you will need to enable the [[html]]
|
||||||
".html" extension, and are first-class wiki pages -- each one generates
|
plugin as well as aggregate itself, since feed entries will be stored as
|
||||||
a separate HTML page in the output, and they can even be edited.
|
HTML, and as first-class wiki pages -- each one generates
|
||||||
|
a separate HTML page in the output, and they can even be edited. This
|
||||||
That turns out to not be ideal for aggregated content, because publishing
|
option is provided only for backwards compatability.
|
||||||
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 alternative
|
|
||||||
method that can be used (and is recommended), turned on by the
|
|
||||||
`aggregateinternal` option in the setup file.
|
|
||||||
|
|
||||||
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. Turn on `aggregateinternal` in the setup file.
|
|
||||||
3. Use [[ikiwiki-transition]] to rename all existing aggregated `.html`
|
|
||||||
files in the srcdir. The command to run is
|
|
||||||
`ikiwiki-transition aggregateinternal $setupfile`,
|
|
||||||
4. Refresh the wiki. (`ikiwiki -setup your.setup -refresh`)
|
|
||||||
|
|
|
@ -113,8 +113,6 @@ sub aggregateinternal {
|
||||||
IkiWiki::checkconfig();
|
IkiWiki::checkconfig();
|
||||||
|
|
||||||
IkiWiki::Plugin::aggregate::migrate_to_internal();
|
IkiWiki::Plugin::aggregate::migrate_to_internal();
|
||||||
|
|
||||||
print "... now add aggregateinternal => 1 to your .setup file\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub setupformat {
|
sub setupformat {
|
||||||
|
|
Loading…
Reference in New Issue