]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Merge branch 'master' into next
authorJoey Hess <joey@gnu.kitenet.net>
Fri, 26 Dec 2008 21:11:13 +0000 (16:11 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Fri, 26 Dec 2008 21:11:13 +0000 (16:11 -0500)
IkiWiki.pm
IkiWiki/Plugin/inline.pm
debian/changelog
doc/plugins/write.mdwn

index f6adb360a56bcac7fca9e65e7551f6cb92c77328..e509a7c2f4202cc6016d8b294a02db9c8d34426a 100644 (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});
                }
        }
index b88efc0bae9be84d13e754a54b8dffc61aa5cfde..26bb120a27b4db39b3e162f93205a15899a24db3 100644 (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.
index ddb979c316fa9ddfff6f0f5c608c33cea10b2b81..2a872bb0ea186e6bbdd2870617ff1e21b57ab6b4 100644 (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
 
index 8992fad0142ec91c4ff4345722423e3c9972b203..405876d58a9a7200e01d2d77ed91cb9892523ed4 100644 (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