On 29 October 2011 15:08, Platonides Platonides@gmail.com wrote:
Daniel Werner 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
I think that would make more sense as a tag extension (parse doesn't look like a good name, what about <wikidemo>?).
@Happy Melon: I think he wants a funtion which shows both parsed wikitext and the original source.
He intends to *build* such a structure, certainly; but I read the OP as saying he wanted to implement it via a template like {{demonstrate template}} [1] but with (just) the backend handled by a new parser function. I agree that you'd be better off/would avoid many of the problems given above by having a tag extension <wikidemo>{{foo|bar|baz=quok}}</wikidemo> that spat out its contents as a parameter to a customisable system message that read something like ""<code><nowiki>$1</nowiki></code> produces: $1"". If I remember the parse order of tag extensions verses parser function extensions right, that should work pretty much straight out of the box??
--HM
[1] https://en.wikipedia.org/wiki/Template:Demonstrate_template