summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/camelcase.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/camelcase.pm')
-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};
} #}}}