got rid of the postrefresh hook after all
Instead, use the change and delete hooks, and launch rsync if either hook is called.master
parent
5b818c9f2a
commit
a7545978c7
|
@ -7,7 +7,8 @@ use IkiWiki 3.00;
|
||||||
|
|
||||||
sub import {
|
sub import {
|
||||||
hook(type => "getsetup", id => "rsync", call => \&getsetup);
|
hook(type => "getsetup", id => "rsync", call => \&getsetup);
|
||||||
hook(type => "postrefresh", id => "rsync", call => \&postrefresh);
|
hook(type => "change", id => "rsync", call => \&postrefresh);
|
||||||
|
hook(type => "delete", id => "rsync", call => \&postrefresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getsetup () {
|
sub getsetup () {
|
||||||
|
@ -25,8 +26,11 @@ sub getsetup () {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $ran=0;
|
||||||
|
|
||||||
sub postrefresh () {
|
sub postrefresh () {
|
||||||
if (defined $config{rsync_command}) {
|
if (defined $config{rsync_command} && ! $ran) {
|
||||||
|
$ran=1;
|
||||||
chdir($config{destdir}) || error("chdir: $!");
|
chdir($config{destdir}) || error("chdir: $!");
|
||||||
system $config{rsync_command};
|
system $config{rsync_command};
|
||||||
if ($? == -1) {
|
if ($? == -1) {
|
||||||
|
|
|
@ -554,7 +554,6 @@ sub refresh () {
|
||||||
if (%rendered) {
|
if (%rendered) {
|
||||||
run_hooks(change => sub { shift->(keys %rendered) });
|
run_hooks(change => sub { shift->(keys %rendered) });
|
||||||
}
|
}
|
||||||
run_hooks(postrefresh => sub { shift->() });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub commandline_render () {
|
sub commandline_render () {
|
||||||
|
|
Loading…
Reference in New Issue