Module:Template wrapper

require('Module:No globals');

local p={};

function p.cs1_wrapper (frame) local args = {}; local template; for k, v in pairs (frame.args) do											-- here we get the wrapper template's 'default' parameters if 'template' == k then template = v;														-- save the name of template that we are wrapping else args[k] = v;														-- copy frame parameters to args table end end if nil == template or '' == template then									-- this is the one parameter required by this module return ' missing or empty '; end

local pframe = frame:getParent;											-- here we get the wrapper template's 'live' parameters for k, v in pairs (pframe.args) do		args[k] = v;															-- copy parent frame parameters to args table end return frame:expandTemplate {title=template, args=args};					-- render the citation end

return p;