Anonymous user
Module:Template wrapper: Difference between revisions
Add uncopyable line break opportunities to documentation mode
Johnrdorazio (talk | contribs) m (1 revision imported) |
(Add uncopyable line break opportunities to documentation mode) |
||
Line 249: | Line 249: | ||
]] | ]] | ||
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); | if do_link then | ||
if not template then | template = ('[[%s|%s]]'):format(frame:expandTemplate{ title='Transclude', args = {template} }, template) | ||
return error_msg; | 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 | 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 >------------------------------------------ | ||
Line 267: | Line 279: | ||
return { | return { | ||
link = link, | |||
list = list, | list = list, | ||
wrap = wrap, | wrap = wrap, | ||
}; | }; |