Module:head: Difference between revisions

From Laenkea
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


function export.show(frame)
function export.show(frame)
local function make_head(head)
if not string.find(head, " ") then
return head
end
local pieces = {}
for piece in string.gmatch(head, "%S+") do
table.insert(pieces, "[[" .. piece .. "]]")
end
return table.concat(pieces, " ")
end
local args = (frame:getParent() and frame:getParent().args) or frame.args
local args = (frame:getParent() and frame:getParent().args) or frame.args
local language = get_by_code(args[1])
local language = get_by_code(args[1])
Line 9: Line 20:
error("Part of speech must be supplied")
error("Part of speech must be supplied")
end
end
local head = args["head"] or mw.title.getCurrentTitle().text
local head = args["head"] or make_head(mw.title.getCurrentTitle().text)
return "'''" .. head .. "'''[[Category:" .. language.name .. " " .. pos .. "s]]"
return "'''" .. head .. "'''[[Category:" .. language.name .. " " .. pos .. "s]]"
end
end


return export
return export

Revision as of 22:15, 5 August 2023

Documentation for this module may be created at Module:head/documentation

local export = {}
local get_by_code = require("Module:languages").get_by_code

function export.show(frame)
	local function make_head(head)
		if not string.find(head, " ") then
			return head
		end
		local pieces = {}
		for piece in string.gmatch(head, "%S+") do
			table.insert(pieces, "[[" .. piece .. "]]")
		end
		return table.concat(pieces, " ")
	end
	
	local args = (frame:getParent() and frame:getParent().args) or frame.args
	local language = get_by_code(args[1])
	local pos = args[2] or args["pos"]
	if not pos then
		error("Part of speech must be supplied")
	end
	local head = args["head"] or make_head(mw.title.getCurrentTitle().text)
	return "'''" .. head .. "'''[[Category:" .. language.name .. " " .. pos .. "s]]"
end

return export