initial version

master
Joey Hess 2008-06-24 20:33:03 -04:00
parent 9f3cf9c1a0
commit 3f6d3f3be8
1 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,45 @@
#!/usr/bin/perl
# Plaintext as a wiki page type - links WikiLinks and URIs.
#
# Copyright (C) 2008 Gabriel McManus <gmcmanus@gmail.com>
# Licensed under the GNU General Public License, version 2 or later
package IkiWiki::Plugin::plaintext;
use warnings;
use strict;
use IkiWiki 2.00;
use HTML::Entities;
require URI::Find;
sub import {
hook(type => "filter", id => "txt", call => \&filter);
hook(type => "htmlize", id => "txt", call => \&htmlize);
}
# 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);
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 $content;
}
# We need this to register the .txt file extension
sub htmlize (@) {
my %params=@_;
return $params{content};
}
1