Merge commit 'smcv/aggregateinternal' into aggregateinternal

Conflicts:

	doc/plugins/aggregate.mdwn
master
Joey Hess 2008-07-14 22:42:22 -04:00
commit 3256522bda
5 changed files with 16 additions and 11 deletions

View File

@ -132,9 +132,11 @@ sub migrate_to_internal { #{{{
foreach my $data (values %guids) {
next unless $data->{page};
next if $data->{expired};
$config{aggregateinternal} = 0;
my $oldname = pagefile($data->{page});
my $oldoutput = $config{destdir}."/".IkiWiki::htmlpage($data->{page});
$config{aggregateinternal} = 1;
my $newname = pagefile($data->{page});
@ -154,6 +156,10 @@ sub migrate_to_internal { #{{{
else {
debug("$oldname not found");
}
if (-e $oldoutput) {
debug("removing output file $oldoutput");
unlink($oldoutput) || error ("$!");
}
}
savestate();

View File

@ -28,7 +28,7 @@ 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
so that the `aggregateinternal` option can be enabled.
# indexdb

View File

@ -101,8 +101,7 @@ you should follow this process:
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 move all existing aggregated `.html`
files. The command to run is `ikiwiki-transition aggregateinternal $srcdir`,
or if you have changed the `htmlext` option to something other than "html",
`ikiwiki-transition aggregateinternal $srcdir $htmlext`
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`)

View File

@ -53,7 +53,7 @@ change their pagespecs to use `internal()`.
> I've patched ikiwiki-transition to have an aggregateinternal mode.
> See my aggregateinternal branch, again.
> "ikiwiki-transition aggregateinternal $srcdir $htmlext" moves the pages around,
> "ikiwiki-transition aggregateinternal $setupfile" moves the pages around,
> although it doesn't update the pagespecs (I wouldn't know how...) --[[smcv]]
[[tag patch done]]

View File

@ -100,12 +100,12 @@ sub hashpassword {
}
sub aggregateinternal {
$config{srcdir} = shift;
$config{wikistatedir} = $config{srcdir}."/.ikiwiki";
$config{htmlext} = (shift or "html");
require IkiWiki::Setup;
require IkiWiki::Plugin::aggregate;
%config = (IkiWiki::defaultconfig(), IkiWiki::Setup::load(shift));
IkiWiki::checkconfig();
IkiWiki::Plugin::aggregate::migrate_to_internal();
print "... now add aggregateinternal => 1 to your .setup file\n";
@ -117,7 +117,7 @@ sub usage {
print STDERR " prefix_directives file\n";
print STDERR " indexdb srcdir\n";
print STDERR " hashpassword srcdir\n";
print STDERR " aggregateinternal srcdir [htmlext]\n";
print STDERR " aggregateinternal setupfile\n";
exit 1;
}