2 # .txt as a wiki page type - links WikiLinks and URIs.
4 # Copyright (C) 2008 Gabriel McManus <gmcmanus@gmail.com>
5 # Licensed under the GNU General Public License, version 2 or later
7 package IkiWiki::Plugin::txt;
17 hook(type => "getsetup", id => "txt", call => \&getsetup);
18 hook(type => "filter", id => "txt", call => \&filter);
19 hook(type => "htmlize", id => "txt", call => \&htmlize);
21 eval q{use URI::Find};
31 rebuild => 1, # format plugin
36 # We use filter to convert raw text to HTML
37 # (htmlize is called after other plugins insert HTML)
40 my $content = $params{content};
42 if (defined $pagesources{$params{page}} &&
43 $pagesources{$params{page}} =~ /\.txt$/) {
44 if ($pagesources{$params{page}} eq 'robots.txt' &&
45 $params{page} eq $params{destpage}) {
46 will_render($params{page}, 'robots.txt');
47 writefile('robots.txt', $config{destdir}, $content);
50 encode_entities($content, "<>&");
52 my $finder = URI::Find->new(sub {
53 my ($uri, $orig_uri) = @_;
54 return qq|<a href="$uri">$orig_uri</a>|;
56 $finder->find(\$content);
58 $content = "<pre>" . $content . "</pre>";
64 # We need this to register the .txt file extension
67 return $params{content};