X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/7fbbcc1615510b622e2d2947e07d9acbb56fbb1c..1be07eae46e4993ecfea3da750727e1ec2d4b07d:/IkiWiki/Plugin/txt.pm

diff --git a/IkiWiki/Plugin/txt.pm b/IkiWiki/Plugin/txt.pm
index 22c9ac903..8599bdc8e 100644
--- a/IkiWiki/Plugin/txt.pm
+++ b/IkiWiki/Plugin/txt.pm
@@ -8,13 +8,14 @@ package IkiWiki::Plugin::txt;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 use HTML::Entities;
 
 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};
@@ -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};
 
-	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) = @_;