blob: a4df54b553590a475f9ba19ed15d88cb9d2a471c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/perl
# .txt 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::txt;
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
|