Module:Variable arguments: Difference between revisions

From Stalburg Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 38: Line 38:
for k, v in pairs(args) do
for k, v in pairs(args) do
         pname = pname .. v
         pname = pname .. v
out_str = out_str .. "[[" .. pname .. "|" .. v .. "]] | "
out_str = out_str .. "[[" .. pname .. "|" .. v .. "]] {{pipe}} "
i = i + 1
i = i + 1
         pname = pname .. "/"
         pname = pname .. "/"
Line 46: Line 46:
if out_str == "" then
if out_str == "" then
out_str = frame:preprocess("[[{{#titleparts: {{FULLPAGENAME}}|-1}}]]")
out_str = "[[{{#titleparts: {{FULLPAGENAME}}|-1}}]]"
end
end
Line 54: Line 54:
.. "<div style=\"margin: 0em;\"><span class=\"subpages\">&lt; " .. out_str
.. "<div style=\"margin: 0em;\"><span class=\"subpages\">&lt; " .. out_str
.. "</span></div></div>")
.. "</span></div></div>")
return out_str
return frame:preprocess(out_str)
end
end


return p
return p

Revision as of 19:54, 25 February 2025

This module is used to store functions for templates that take a variable number of arguments but do not use Module:Labelled list hatnote:


local mArguments = require("Module:Arguments")
local p = {}

function p.modlink(frame)
    local args = mArguments.getArgs(frame, {
    	parentOnly = true
    })
	local out_str = ""
	local i = 0
	
	for k, v in pairs(args) do
		out_str = out_str .. "[[Module:" .. v .. "]]" .. ", "
		i = i + 1
	end
	
	out_str = out_str:sub(1, -3)
	
	if out_str == "" then
		out_str = "[[Module:" .. frame:preprocess("{{ROOTPAGENAME}}") .. "]]"
	end
	
	out_str = out_str 
		.. " &ndash; the "
		.. string.gsub("module that implement", "()", {[((i > 1) and {7} or {22})[1]] = "s"})
		.. " the functionality."
	return out_str
end

function p.breadcrumb(frame)
	local args = mArguments.getArgs(frame, {
    	parentOnly = true
    })
	local out_str = ""
	local i = 0

    local pname = ""
	
	for k, v in pairs(args) do
        pname = pname .. v
		out_str = out_str .. "[[" .. pname .. "|" .. v .. "]] {{pipe}} "
		i = i + 1
        pname = pname .. "/"
	end

    out_str = out_str:sub(1, -9)
	
	if out_str == "" then
		out_str = "[[{{#titleparts: {{FULLPAGENAME}}|-1}}]]"
	end
	
	out_str = ("<div id=\"contentSub\">"
		.. "<div style=\"margin: 0.5em;\"></div>"
		.. "<div class=\"nomobile\" style=\"margin: -0.8em;\"></div>"
		.. "<div style=\"margin: 0em;\"><span class=\"subpages\">&lt; " .. out_str
		.. "</span></div></div>")
	return frame:preprocess(out_str)
end

return p