Module:Expand wikitext
Jump to navigation
Jump to search
Interprets the input as wikitext using the frame:preprocess
function. Any arguments passed to {{Expand wikitext}} are available in the preprocessed code, letting this be used as a rudimentary way of using variables.
If the entire input is in a nowiki tag, or if the optional parameter |unstrip=yes
is specified, first extracts the contents of nowiki tags before preprocessing. This feature does not work in the mobile app, visual editor, or Special:ExpandTemplates due to Phab:T203293.
Example
{{#invoke:expand wikitext|main|{{Make code|<<As of!2015!02>>}}}}
→ As of February 2015[update]{{#invoke:expand wikitext|main|<nowiki>{{Episode list/sublist | 1 = One Piece (season 15) | EpisodeNumber = {{{ep}}} | Title = An Explosive Situation! Luffy vs. Fake Luffy! | OriginalAirDate = {{Date|2011-10-02 +{{#expr:({{{ep}}})-517}} weeks }} }} </nowiki>|ep=518}}
→ 518"An Explosive Situation! Luffy vs. Fake Luffy!"9 October 2011
{{#invoke:expand wikitext|main|<nowiki>{{2x|x}}-</nowiki>}}
→ {{2x|x}}-{{#invoke:expand wikitext|main|<nowiki>{{2x|x}} -</nowiki>}}
→ xx -{{#invoke:expand wikitext|main|<nowiki><u>u</u><ref>text</ref></nowiki>}}
→ <u>u</u><ref>text</ref>
local p = {}
local yesno = require("Module:Yesno")
function p.main(frame)
local pframe = frame:getParent()
local code = frame.args[1]
if mw.text.trim(mw.text.killMarkers(code)) == "" or yesno(frame.args.unstrip) then
code = mw.text.unstripNoWiki(code);
end
return pframe:preprocess(code)
end
return p