Author: colin.fine
Description:
I have a template that is generating external links ([ ...])
If part of the link includes an {{#if:}} construct, some characters are not parsed correctly, but actually terminate the link construct.
I have seen two different cases:
- a '#' in the replacement text ends the link.
[http://somesite.com#anchor My site]
correctly shows 'My site', with a link to http://somesite.com#anchor
but
[http://somesite.com{{#if:anchor|#anchor}} My site]
expands to
- anchor My site]
as though it were
[http://somesite.com] #anchor My site ]
(including treating the '#' as a numbered list item).
Using nowiki helps, but still gives a different wrong result:
[http://somesite.com{{#if:anchor|<nowiki>#</nowiki>anchor}} My site
expands as though it were
[http:somesite.com <nowiki>#</nowiki>anchor My site]
The workround I have is to put the # outside the #if:
[http://somesite.com#{{#if:anchor|anchor}} My site]
This works, but of course it always generates the # on the link.
- a ':' has similar problems, but not quite so bad, presumably because it is not so special to Mediawiki. The nowiki trick works here.
MW 1.13.2, ParseFunctions 1.1.1
Version: unspecified
Severity: normal
OS: Linux
Platform: PC