aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/camelcase.pm
blob: 68d399d77698bb5be52ba48cd3ddaab21bb5b964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
# CamelCase links
package IkiWiki::Plugin::camelcase;

use warnings;
use strict;

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

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};
} #}}}

1