X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ed4b6afc9b3b43e1f7e70ff01a77472c7983a549..80781387fc5f0c797f6e1b8678db2f253af4b7f8:/IkiWiki/Plugin/camelcase.pm diff --git a/IkiWiki/Plugin/camelcase.pm b/IkiWiki/Plugin/camelcase.pm index 845a516ee..74a8397d7 100644 --- a/IkiWiki/Plugin/camelcase.pm +++ b/IkiWiki/Plugin/camelcase.pm @@ -4,34 +4,70 @@ package IkiWiki::Plugin::camelcase; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; -sub import { #{{{ - hook(type => "filter", id => "camelcase", call => \&filter); -} # }}} +# This regexp is based on the one in Text::WikiFormat. +my $link_regexp=qr{ + (? "getsetup", id => "camelcase", call => \&getsetup); + hook(type => "linkify", id => "camelcase", call => \&linkify); + hook(type => "scan", id => "camelcase", call => \&scan); +} -sub filter (@) { #{{{ +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => undef, + }, + camelcase_ignore => { + type => "string", + example => [], + description => "list of words to not turn into links", + safe => 1, + rebuild => undef, # might change links + }, +} + +sub linkify (@) { my %params=@_; + my $page=$params{page}; + my $destpage=$params{destpage}; - # Make CamelCase links work by promoting them to fullfledged - # WikiLinks. This regexp is based on the one in Text::WikiFormat. - $params{content}=~s{ - (?