From: Joey Hess Date: Fri, 26 Dec 2008 21:11:13 +0000 (-0500) Subject: Merge branch 'master' into next X-Git-Tag: 3.00~4^2~10 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/c4f3d0554a02eba93d94d4c0914f4afddf85274b?hp=733c7592b7f7103cc73dc563e827da2a0bab8674 Merge branch 'master' into next --- diff --git a/IkiWiki.pm b/IkiWiki.pm index f6adb360a..e509a7c2f 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -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}); } } diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index b88efc0ba..26bb120a2 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -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. diff --git a/debian/changelog b/debian/changelog index ddb979c31..2a872bb0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Wed, 24 Dec 2008 19:49:32 -0500 diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 8992fad01..405876d58 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -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