diff options
author | intrigeri <intrigeri@boum.org> | 2010-12-20 14:27:21 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2010-12-20 14:27:21 +0100 |
commit | 75196e76b627709a6ecae3fa948e1fba7928a5ce (patch) | |
tree | 6aa2baeb9cc68f98ca256ce0ff5cb20909f52ef9 /IkiWiki/Plugin/txt.pm | |
parent | 8c2962ec48ae57605d6d0e297be437a97b6229ca (diff) | |
parent | e5ed3c9e3801360cc00ce4f4f325f68ac0770bff (diff) |
Merge remote branch 'upstream/master' into prv/po
Diffstat (limited to 'IkiWiki/Plugin/txt.pm')
-rw-r--r-- | IkiWiki/Plugin/txt.pm | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/IkiWiki/Plugin/txt.pm b/IkiWiki/Plugin/txt.pm index 0d9a0b35b..fcfb68be9 100644 --- a/IkiWiki/Plugin/txt.pm +++ b/IkiWiki/Plugin/txt.pm @@ -17,6 +17,7 @@ sub import { hook(type => "getsetup", id => "txt", call => \&getsetup); hook(type => "filter", id => "txt", call => \&filter); hook(type => "htmlize", id => "txt", call => \&htmlize); + hook(type => "htmlizeformat", id => "txt", call => \&htmlizeformat); eval q{use URI::Find}; if (! $@) { @@ -46,25 +47,42 @@ sub filter (@) { will_render($params{page}, 'robots.txt'); writefile('robots.txt', $config{destdir}, $content); } - - encode_entities($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>"; + return txt2html($content); } return $content; } +sub txt2html ($) { + my $content=shift; + + encode_entities($content, "<>&"); + if ($findurl) { + my $finder = URI::Find->new(sub { + my ($uri, $orig_uri) = @_; + return qq|<a href="$uri">$orig_uri</a>|; + }); + $finder->find(\$content); + } + return "<pre>" . $content . "</pre>"; +} + # We need this to register the .txt file extension sub htmlize (@) { my %params=@_; return $params{content}; } +sub htmlizeformat ($$) { + my $format=shift; + my $content=shift; + + if ($format eq 'txt') { + return txt2html($content); + } + else { + return; + } +} + 1 |