X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/22df49a2bf92302d4c6e25a04e9c7589a93844a9..e4ccc4f3b09aaaa4f64bdba1d6ffff24e924fd20:/IkiWiki/Plugin/meta.pm?ds=sidebyside
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index 15a8bad84..bac163469 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -12,10 +12,20 @@ my %title;
sub import { #{{{
IkiWiki::hook(type => "preprocess", id => "meta",
call => \&preprocess);
+ IkiWiki::hook(type => "filter", id => "meta",
+ call => \&filter);
IkiWiki::hook(type => "pagetemplate", id => "meta",
call => \&pagetemplate);
} # }}}
+sub filter (@) { #{{{
+ my %params=@_;
+
+ $meta{$params{page}}='';
+
+ return $params{content};
+} # }}}
+
sub preprocess (@) { #{{{
if (! @_) {
return "";
@@ -28,13 +38,15 @@ sub preprocess (@) { #{{{
delete $params{page};
delete $params{destpage};
- eval q{use CGI 'escapeHTML'};
+ eval q{use HTML::Entities};
+ # Always dencode, even if encoding later, since it might not be
+ # fully encoded.
+ $value=decode_entities($value);
if ($key eq 'link') {
if (%params) {
- $meta{$page}='' unless exists $meta{$page};
- $meta{$page}.="\n";
}
else {
@@ -43,11 +55,11 @@ sub preprocess (@) { #{{{
}
}
elsif ($key eq 'title') {
- $title{$page}=escapeHTML($value);
+ $title{$page}=$value;
}
else {
- $meta{$page}='' unless exists $meta{$page};
- $meta{$page}.="\n";
+ $meta{$page}.="\n";
}
return "";