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

use IkiWiki;
use warnings;
use strict;

sub import { #{{{
	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