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