From d9c118dbf1753abcbf081f532aecfe8cb6ce7de7 Mon Sep 17 00:00:00 2001 From: joey Date: Wed, 26 Jul 2006 21:54:44 +0000 Subject: * Run page through any relevant filters when generating a page preview. * Noticed a bug in the wikitext markup plugin -- it made CamelCase links the default throughout the wiki, not only on wikitext pages. Decided to call this a feature, and split the camelcase support out into a separate plugin that is independant of wikitext. --- IkiWiki/Plugin/camelcase.pm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 IkiWiki/Plugin/camelcase.pm (limited to 'IkiWiki/Plugin/camelcase.pm') diff --git a/IkiWiki/Plugin/camelcase.pm b/IkiWiki/Plugin/camelcase.pm new file mode 100644 index 000000000..0934b27c2 --- /dev/null +++ b/IkiWiki/Plugin/camelcase.pm @@ -0,0 +1,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 -- cgit v1.2.3