Module:Xpd

-- Expansion demo, like Template:Xpd

local p = {} function p.f(frame,sep) local r='' local t={} pframe = frame:getParent for n,v in pframe:argumentPairs do    if type(n)==number then t[n-1]=v else t[n]=v end end local tplname local tplargs={} tplargs[1]='' for n,v in pairs(t) do  if n==1 then tplname=v else tplargs[n]=v end end table.remove (tplargs,1) local w='' r=r..' → ' r=r..sep..frame:preprocess (w) return r end function p.s(frame) local sep='' return p.f(frame,sep) end

function p.p(frame) local sep='\n\n' return p.f(frame,sep) end function p.swt(w) local w1=string.gsub (w, '&', '&amp;') w1=string.gsub (w1, '%[', '&#91;') w1=string.gsub (w1, '%]', '&#93;') w1=string.gsub (w1, '\n', ' ') w1=string.gsub (w1, ' ', ' ') return w1 end function p.plain(frame,sep) local pframe = frame:getParent local w = pframe.args[1] local w1=p.swt(w) local r=' → ' r=r..sep..w return r end function p.plains(frame) return p.plain(frame,'') end

function p.plainp(frame) return p.plain(frame,'\n\n') end return p