Changes
Jump to navigation
Jump to search
Line 1:
Line 1:
− +
Line 249:
Line 249:
+
+
+
− local function list (frame)+
− local args = {}; -- table of default and live parameters and their values to be passed to the listed template+
− local template; -- the name of the listed template+
− +
− +
− +
− +
+
+
+
+
+
+
+
+
+
− +
+
−
Line 267:
Line 279:
+
Module:Template wrapper (view source)
Revision as of 21:11, 21 October 2022
, 21:11, 21 October 2022Replace Module:No globals with require( "strict" )
require('Module:No globals');
require('strict');
local error_msg = '<span style=\"font-size:100%\" class=\"error\"><code style=\"color:inherit; border:inherit; padding:inherit;\">|_template=</code> missing or empty</span>';
local error_msg = '<span style=\"font-size:100%\" class=\"error\"><code style=\"color:inherit; border:inherit; padding:inherit;\">|_template=</code> missing or empty</span>';
]]
]]
local function list(frame, do_link)
local args = {}; -- table of default and live parameters and their values to be passed to the listed template
local template; -- the name of the listed template
template = _main (frame, args, true); -- get default and live parameters and the name of the listed template
if not template then -- template name is required
return error_msg; -- emit error message and abandon if template name not present
end
template = _main (frame, args, true); -- get default and live parameters and the name of the listed template
if do_link then
if not template then -- template name is required
template = ('[[%s|%s]]'):format(frame:expandTemplate{ title='Transclude', args = {template} }, template)
return error_msg; -- emit error message and abandon if template name not present
end
table.sort(args)
for i = 1, #args do
local stripped = args[i]:match('^' .. i .. '=([^=]*)$')
if stripped then args[i] = stripped else break end
end
end
return frame:preprocess(table.concat({
'<code style="color:inherit; background:inherit; border:none;">{{',
template,
('<wbr><nowiki>|%s</nowiki>'):rep(#args):format(unpack(args)), '}}</code>'})); -- render the template
end
return frame:preprocess (table.concat ({'<code style="color:inherit; background:inherit; border:none;"><nowiki>{{', template, ' |', table.concat( args, ' |' ), '}}</nowiki></code>'})); -- render the template
local function link (frame)
return list(frame, true)
end
end
--[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------
--[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------
return {
return {
link = link,
list = list,
list = list,
wrap = wrap,
wrap = wrap,
};
};