linkified now if they are preceeded by whitespace.
# Make CamelCase links work by promoting them to fullfledged
# WikiLinks. This regexp is based on the one in Text::WikiFormat.
$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-Za-z0-9\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
* Don't allow whitespace in link text in a wikilink. This was still
allowed by the regexp in one case though not documented to work, and
was ambiguous with preprocessor directives.
+ * camelcase: Tighten regexp to avoid false positives. WikiWords are only
+ linkified now if they are preceeded by whitespace.
- -- Joey Hess <joeyh@debian.org> Mon, 24 Sep 2007 12:48:35 -0400
+ -- Joey Hess <joeyh@debian.org> Fri, 28 Sep 2007 16:45:29 -0400
ikiwiki (2.8) unstable; urgency=low
You can see an example of the breakage on <http://wiki.debian-community.org/planets/de/> - scroll down to the Chumbawamba entry.
>> There's a great workaround for this bug: Disable the
->> [[plugins/camelcase]] plugin. :-)
+>> [[plugins/camelcase]] plugin. :-) I really don't recommend using that
+>> plugin. _Especially_ not when aggregating third-party content as you do
+>> in the example.
+>>
+>> Fixing this at the html parsing level would involve making ikiwiki 2
+>> times slower, not even counting the html parsing overhead, since it
+>> would have to fully render pages in the "scan" pass.
+>>
+>> All I can do is improve the regexp it uses to try to avoid false
+>> positives. Which I've now [[done]].
>>
->> The fix involves modifying its regexp to look for surrounding brackets.
>> --[[Joey]]