only convert urls if the module is installed
authorJoey Hess <joey@kodama.kitenet.net>
Wed, 25 Jun 2008 00:38:41 +0000 (20:38 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Wed, 25 Jun 2008 00:38:41 +0000 (20:38 -0400)
IkiWiki/Plugin/txt.pm

index 2670e9b6313e6708b1a7292b17d13ab6b15d2c5c..22c9ac903f93c2797175bb14916a385d7ecd28e5 100644 (file)
@@ -10,11 +10,17 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 use HTML::Entities;
-require URI::Find;
+
+my $findurl=0;
 
 sub import {
        hook(type => "filter",  id => "txt", call => \&filter);
        hook(type => "htmlize", id => "txt", call => \&htmlize);
+
+       eval q{use URI::Find};
+       if (! $@) {
+               $findurl=1;
+       }
 }
 
 # We use filter to convert raw text to HTML
@@ -23,14 +29,15 @@ sub filter (@) {
        my %params = @_;
        my $content = $params{content};
 
-       if ($pagesources{$params{page}} =~ /.txt$/) {
+       if ($pagesources{$params{page}} =~ /\.txt$/) {
                encode_entities($content);
-               my $finder = URI::Find->new(
-               sub {
-                       my ($uri, $orig_uri) = @_;
-                       return qq|<a href="$uri">$orig_uri</a>|;
-               });
-               $finder->find(\$content);
+               if ($findurl) {
+                       my $finder = URI::Find->new(sub {
+                               my ($uri, $orig_uri) = @_;
+                               return qq|<a href="$uri">$orig_uri</a>|;
+                       });
+                       $finder->find(\$content);
+               }
                $content = "<pre>" . $content . "</pre>";
        }