aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-06-01 23:40:43 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-06-01 23:40:43 +0000
commit78323806ee775b8f0384255ba7cecf1e74e75e4f (patch)
tree9eab82dba37cc4642f52458d227317e520c1c893 /IkiWiki
parent348a82b7a45997b979cf75444a9b1091215c60ea (diff)
downloadikiwiki-78323806ee775b8f0384255ba7cecf1e74e75e4f.tar
ikiwiki-78323806ee775b8f0384255ba7cecf1e74e75e4f.tar.gz
* Explode some of the more insane regexps.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/camelcase.pm15
1 files changed, 14 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/camelcase.pm b/IkiWiki/Plugin/camelcase.pm
index 29d22b0dd..dc89f1b90 100644
--- a/IkiWiki/Plugin/camelcase.pm
+++ b/IkiWiki/Plugin/camelcase.pm
@@ -15,7 +15,20 @@ sub filter (@) { #{{{
# 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;
+ $params{content}=~s{
+ (?<![[|"/>=]) # try to avoid expanding non-links
+ # with a zero width negative lookbehind for
+ # characters that suggest it's not a link
+ \b # word boundry
+ (
+ (?:
+ [A-Z] # Uppercase start
+ [a-z0-9] # followed by lowercase
+ \w* # and rest of word
+ )
+ {2,} # repeated twice
+ )
+ }{[[$1]]}gx;
return $params{content};
} #}}}