On 29 October 2011 01:01, Daniel Werner <[email protected]> wrote: > I am thinking about creating a very simple parser function #parse doing > nothing but returning parameter 1 with an "'noparse' => false" option. > Is there anything like this (or what could be abused for this) already > or is there any reason why this might be a bad idea? > > The reason I want to have something like this is, I want to create a > template (for template and parser function black-box tests) accepting > something like {{((}}#somefunction:a{{!}}b{{!}}c{{))}} as parameter > value, showing {{#somefunction|a|b|c}} as output and at the same time > calling {{#parse: {{((}}#somefunction:a{{!}}b{{!}}c{{))}} }} so that > besides the definition also the result can be shown by the template output. > > regards, > Daniel > > So basically a function which double-parses wikitext? There are quite a few potential gotchas with that: firstly losing the parser state if you don't implement it properly and throwing UNIQ...QINUs everywhere; although that can be avoided. I expect you'd get a lot of double-escaping: {{#parse: [[Foo]] }} is going to come out as ""<a href=" http://wiki.com/wiki/Foo">Foo<a>"" or somesuch, as the double brackets will be expanded to an <a> tag on the first parse, then the tag will be escaped on the second. It would probably be easy to get very deeply nested as well. How would you handle pre-save-transform substitutions like signatures and pipe tricks?
--HM _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
