Put newly aggregated pages in the transient underlay
parent
44b0cea85f
commit
d851ae76f6
|
@ -162,10 +162,14 @@ sub migrate_to_internal {
|
|||
|
||||
$config{aggregateinternal} = 0;
|
||||
my $oldname = "$config{srcdir}/".htmlfn($data->{page});
|
||||
if (! -e $oldname) {
|
||||
$oldname = $IkiWiki::Plugin::transient::transientdir."/".htmlfn($data->{page});
|
||||
}
|
||||
|
||||
my $oldoutput = $config{destdir}."/".IkiWiki::htmlpage($data->{page});
|
||||
|
||||
$config{aggregateinternal} = 1;
|
||||
my $newname = "$config{srcdir}/".htmlfn($data->{page});
|
||||
my $newname = $IkiWiki::Plugin::transient::transientdir."/".htmlfn($data->{page});
|
||||
|
||||
debug "moving $oldname -> $newname";
|
||||
if (-e $newname) {
|
||||
|
@ -385,13 +389,16 @@ sub garbage_collect () {
|
|||
foreach my $guid (values %guids) {
|
||||
# any guid whose feed is gone should be removed
|
||||
if (! exists $feeds{$guid->{feed}}) {
|
||||
unlink "$config{srcdir}/".htmlfn($guid->{page})
|
||||
if exists $guid->{page};
|
||||
if (exists $guid->{page}) {
|
||||
unlink "$config{srcdir}/".htmlfn($guid->{page});
|
||||
unlink $IkiWiki::Plugin::transient::transientdir."/".htmlfn($guid->{page});
|
||||
}
|
||||
delete $guids{$guid->{guid}};
|
||||
}
|
||||
# handle expired guids
|
||||
elsif ($guid->{expired} && exists $guid->{page}) {
|
||||
unlink "$config{srcdir}/".htmlfn($guid->{page});
|
||||
unlink $IkiWiki::Plugin::transient::transientdir."/".htmlfn($guid->{page});
|
||||
delete $guid->{page};
|
||||
delete $guid->{md5};
|
||||
}
|
||||
|
@ -611,6 +618,7 @@ sub add_page (@) {
|
|||
}
|
||||
my $c="";
|
||||
while (exists $IkiWiki::pagecase{lc $page.$c} ||
|
||||
-e $IkiWiki::Plugin::transient::transientdir."/".htmlfn($page.$c) ||
|
||||
-e "$config{srcdir}/".htmlfn($page.$c)) {
|
||||
$c++
|
||||
}
|
||||
|
@ -622,6 +630,8 @@ sub add_page (@) {
|
|||
$c="";
|
||||
$page=$feed->{dir}."/item";
|
||||
while (exists $IkiWiki::pagecase{lc $page.$c} ||
|
||||
-e $IkiWiki::Plugin::transient::transientdir."/".htmlfn($page.$c) ||
|
||||
|
||||
-e "$config{srcdir}/".htmlfn($page.$c)) {
|
||||
$c++
|
||||
}
|
||||
|
@ -664,13 +674,14 @@ sub add_page (@) {
|
|||
if (ref $feed->{tags}) {
|
||||
$template->param(tags => [map { tag => $_ }, @{$feed->{tags}}]);
|
||||
}
|
||||
writefile(htmlfn($guid->{page}), $config{srcdir},
|
||||
$template->output);
|
||||
writefile(htmlfn($guid->{page}),
|
||||
$IkiWiki::Plugin::transient::transientdir, $template->output);
|
||||
|
||||
if (defined $mtime && $mtime <= time) {
|
||||
# Set the mtime, this lets the build process get the right
|
||||
# creation time on record for the new page.
|
||||
utime $mtime, $mtime, "$config{srcdir}/".htmlfn($guid->{page});
|
||||
utime $mtime, $mtime,
|
||||
$IkiWiki::Plugin::transient::transientdir."/".htmlfn($guid->{page});
|
||||
# Store it in pagectime for expiry code to use also.
|
||||
$IkiWiki::pagectime{$guid->{page}}=$mtime
|
||||
unless exists $IkiWiki::pagectime{$guid->{page}};
|
||||
|
|
Loading…
Reference in New Issue