initial version
parent
9f3cf9c1a0
commit
3f6d3f3be8
|
@ -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
|
Loading…
Reference in New Issue