Merge branch 'master' into next

master
Joey Hess 2008-12-26 16:11:13 -05:00
commit c4f3d0554a
4 changed files with 16 additions and 10 deletions

View File

@ -1536,15 +1536,19 @@ sub run_hooks ($$) {
my $sub=shift;
if (exists $hooks{$type}) {
my @deferred;
my (@first, @middle, @last);
foreach my $id (keys %{$hooks{$type}}) {
if ($hooks{$type}{$id}{last}) {
push @deferred, $id;
next;
if ($hooks{$type}{$id}{first}) {
push @first, $id;
}
elsif ($hooks{$type}{$id}{last}) {
push @last, $id;
}
else {
push @middle, $id;
}
$sub->($hooks{$type}{$id}{call});
}
foreach my $id (@deferred) {
foreach my $id (@first, @middle, @last) {
$sub->($hooks{$type}{$id}{call});
}
}

View File

@ -1,4 +1,4 @@
#!/usr/bin/perl
!/usr/bin/perl
# Page inlining and blogging.
package IkiWiki::Plugin::inline;
@ -22,7 +22,7 @@ sub import {
call => \&IkiWiki::preprocess_inline);
hook(type => "pagetemplate", id => "inline",
call => \&IkiWiki::pagetemplate_inline);
hook(type => "format", id => "inline", call => \&format);
hook(type => "format", id => "inline", call => \&format, first => 1);
# Hook to change to do pinging since it's called late.
# This ensures each page only pings once and prevents slow
# pings interrupting page builds.

2
debian/changelog vendored
View File

@ -23,6 +23,8 @@ ikiwiki (2.72) unstable; urgency=low
* camelcase: Add camelcase_ignore setting.
* googlecalendar: Add runtime deprecation warning.
* comments: Deal with users entering unqualified or partial urls.
* inline: Run format hook first, to ensure other format hooks can affect
inlined content. Closes: #509710
-- Joey Hess <joeyh@debian.org> Wed, 24 Dec 2008 19:49:32 -0500

View File

@ -55,8 +55,8 @@ plugin, and a "call" parameter, which tells what function to call for the
hook.
An optional "last" parameter, if set to a true value, makes the hook run
after all other hooks of its type. Useful if the hook depends on some other
hook being run first.
after all other hooks of its type, and an optional "first" parameter makes
it run first. Useful if the hook depends on some other hook being run first.
## Types of hooks