X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/27a80dc40aa4cad93576a35d0af1f6c117ffcb68..0cd67c515fad03797fa7792c10b507a0abb77c28:/IkiWiki/Plugin/inline.pm diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index ffdf397f1..3b49152f4 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -26,7 +26,7 @@ sub import { # 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. - hook(type => "change", id => "inline", call => \&IkiWiki::pingurl); + hook(type => "rendered", id => "inline", call => \&IkiWiki::pingurl); } sub getopt () { @@ -194,7 +194,8 @@ sub preprocess_inline (@) { } } - @list = map { bestlink($params{page}, $_) } + @list = grep { $_ ne '' } + map { bestlink($params{page}, $_) } split ' ', $params{pagenames}; if (yesno($params{reverse})) { @@ -506,7 +507,7 @@ sub get_inline_content ($$) { if (isinternal($page)) { # make inlined text of internal pages searchable run_hooks(indexhtml => sub { - shift->(page => $page, destpage => $page, + shift->(page => $page, destpage => $destpage, content => $ret); }); } @@ -564,13 +565,15 @@ sub absolute_urls ($$) { next unless $v_offset; # 0 v_offset means no value my $v = substr($text, $v_offset, $v_len); $v =~ s/^([\'\"])(.*)\1$/$2/; - if ($v=~/^#/) { + eval q{use HTML::Entities}; + my $dv = decode_entities($v); + if ($dv=~/^#/) { $v=$baseurl.$v; # anchor } - elsif ($v=~/^(?!\w+:)[^\/]/) { + elsif ($dv=~/^(?!\w+:)[^\/]/) { $v=$url.$v; # relative url } - elsif ($v=~/^\//) { + elsif ($dv=~/^\//) { if (! defined $urltop) { # what is the non path part of the url? my $top_uri = URI->new($url); @@ -675,7 +678,6 @@ sub genfeed ($$$$$@) { guid => $guid, feeddate => date_3339($lasttime), feedurl => $feedurl, - version => $IkiWiki::version, ); run_hooks(pagetemplate => sub { shift->(page => $page, destpage => $page,