]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/txt.pm
Merge commit 'upstream/master'
[git.ikiwiki.info.git] / IkiWiki / Plugin / txt.pm
index 22c9ac903f93c2797175bb14916a385d7ecd28e5..e157bf07e1eff1b66c93f1ddc4b018846e42cfe8 100644 (file)
@@ -14,7 +14,8 @@ use HTML::Entities;
 my $findurl=0;
 
 sub import {
 my $findurl=0;
 
 sub import {
-       hook(type => "filter",  id => "txt", call => \&filter);
+       hook(type => "getsetup", id => "txt", call => \&getsetup);
+       hook(type => "filter", id => "txt", call => \&filter);
        hook(type => "htmlize", id => "txt", call => \&htmlize);
 
        eval q{use URI::Find};
        hook(type => "htmlize", id => "txt", call => \&htmlize);
 
        eval q{use URI::Find};
@@ -23,14 +24,22 @@ sub import {
        }
 }
 
        }
 }
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
+} #}}}
+
 # We use filter to convert raw text to HTML
 # (htmlize is called after other plugins insert HTML)
 sub filter (@) {
        my %params = @_;
        my $content = $params{content};
 
 # We use filter to convert raw text to HTML
 # (htmlize is called after other plugins insert HTML)
 sub filter (@) {
        my %params = @_;
        my $content = $params{content};
 
-       if ($pagesources{$params{page}} =~ /\.txt$/) {
-               encode_entities($content);
+       if (defined $pagesources{$params{page}} && $pagesources{$params{page}} =~ /\.txt$/) {
+               encode_entities($content, "<>&");
                if ($findurl) {
                        my $finder = URI::Find->new(sub {
                                my ($uri, $orig_uri) = @_;
                if ($findurl) {
                        my $finder = URI::Find->new(sub {
                                my ($uri, $orig_uri) = @_;