Tim Starling wrote:
Infoboxes are a very important application of
templates. There needs to
be some way conditionally add table rows based on whether or not a given
template parameter is defined. When people complained about the argument
separators in {{#if:}} clashing with table syntax, I told them to use
HTML table tags instead. That seemed like a much better, more stable
solution than {{!}}. If that's not going to work anymore, what exactly
are people meant to do?
There are thousands of affected articles, and if there is no solution
for this, then I don't think it is acceptable to put this change live.
Why is the template required to close its own tags? It would make things
a lot easier if this was not required.
That's how MediaWiki has worked for a long time; it was just broken with Tidy
mode enabled, thus guaranteeing that any Wikipedia page using such a template
would be broken when copied to another wiki.
Would you prefer to change the behavior? Note that this will require some
restructuring to the parser to both be more correct and and not break things,
and will leave us with inconsistent, unparseable code in the future. (That is,
it'll be impossible to tell what the code after a template inclusion will parse
as unless the template is available.)
But if we're really, really sure, we can put some time into working on that and
accept that our syntax will never be predictable. (This has consequences for
future wysiwyg or markup-sensitive assisted editing plugins.)
-- brion vibber (brion @
pobox.com)