aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/wikitext.pm
blob: 310b86724358db7ea68a0af9f8da0d4d899772c2 (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
#!/usr/bin/perl
# WikiText markup
package IkiWiki::Plugin::wikitext;

use warnings;
use strict;
use Text::WikiFormat;

sub import { #{{{
	IkiWiki::hook(type => "filter", id => "wiki", call => \&filter);
	IkiWiki::hook(type => "htmlize", id => "wiki", call => \&htmlize);
} # }}}

sub filter (@) { #{{{
	my %params=@_;

	# Make CamelCase links work by promoting them to fullfledged
	# WikiLinks. This regexp is based on the one in Text::WikiFormat.
	$params{content}=~s#(?<![["/>=])\b((?:[A-Z][a-z0-9]\w*){2,})#[[$1]]#g;

	return $params{content};
} #}}}

sub htmlize ($) { #{{{
	my $content = shift;

	return Text::WikiFormat::format($content, undef, { implicit_links => 0 });
} # }}}

1