In response to a campaign by users of the English Wikipedia to harrass developers by introducing increasingly ugly and inefficient meta-templates to popular pages, I've caved in and written a few reasonably efficient parser functions. There are two conditional functions and a mathematical expression function. The expression function should support uses such as time and date deltas, as well as floating point applications such as unit conversion. The conditional functions should replace most uses of {{qif}}, and improve the efficiency of similar templates.
Documentation is at:
http://meta.wikimedia.org/wiki/ParserFunctions
I would like to hear comments about the syntax, before we put them live. Syntax is guided by consistency with existing functions such as {{localurl:}}, but if it looks too unwieldy then we can probably change it.
Don't blame me. I've always been against turning wikitext into a programming language. I'm just weaker than the other developers. How can I stand by and watch this sort of thing be inflicted on our articles:
http://en.wikipedia.org/w/index.php?title=User:Ed_Poor/subtract&action=e...
I had a choice between going on a deletion rampage or answering the persistent calls on the wiki for this kind of thing to be implemented.
Templates, that's where it all went wrong. Or custom messages, as we called them back then. If only I understood what a Pandora's box I was opening when I implemented {{MSG:}}.
http://mail.wikipedia.org/pipermail/wikitech-l/2003-September/018536.html
-- Tim Starling