]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/recentchangesdiff.pm
camelcase: Add camelcase_ignore setting.
[git.ikiwiki.info.git] / IkiWiki / Plugin / recentchangesdiff.pm
index 36acef72ebccf8978c3c4e8348074ef4bca0565c..4dea9c26bde1e8a446797139ba99c11b0f991ba7 100644 (file)
@@ -4,25 +4,26 @@ package IkiWiki::Plugin::recentchangesdiff;
 use warnings;
 use strict;
 use IkiWiki 2.00;
+use HTML::Entities;
 
 my $maxlines=200;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "recentchangesdiff",
                call => \&getsetup);
        hook(type => "pagetemplate", id => "recentchangesdiff",
                call => \&pagetemplate);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $template=$params{template};
        if ($config{rcs} && exists $params{rev} && length $params{rev} &&
@@ -38,11 +39,13 @@ sub pagetemplate (@) { #{{{
                        else {
                                $diff=join("", @lines);
                        }
+                       # escape html
+                       $diff = encode_entities($diff);
                        # escape links and preprocessor stuff
-                       $diff =~ s/(?<!\\)\[\[/\\\[\[/g;
+                       $diff = encode_entities($diff, '\[\]');
                        $template->param(diff => $diff);
                }
        }
-} #}}}
+}
 
 1