Module:labels/demo

local export = {}

function export.examples(frame) local beginning = class="wikitable" local caption = "|+ "

local headers = ! code !! result local row_template = 

local middle local close = "|}"

local rows = {} local params = { [1] = { required = true, list = true }, ["caption"] = {}, ["header"] = { type = "boolean" }, }	local args = require("Module:parameters").process(frame:getParent.args, params) if args.caption then beginning = beginning .. caption .. args.caption .. "\n" end if args.header then beginning = beginning .. headers middle = "" else middle = " &rarr; || " end for i, example in ipairs(args[1]) do		local lang, rest = mw.ustring.match(example, "^([^:]+)%:(.*)$") if lang then example = rest else error("Examples must be preceded by a language code prefix, followed by a colon") end local parameters = mw.text.split(example, "~") local template_params = { lang, }		for _, parameter in ipairs(parameters) do			table.insert(template_params, parameter) end local code = require("Module:template link").format_link("label", template_params) local result = require("Module:labels").show_labels { labels = parameters, lang = require("Module:languages").getByCode(lang, i, "allow etym"), nocat = true }		local content = { code = code, middle = middle, result = result, }		local function add_content(item) if content[item] then return content[item] end end local row = mw.ustring.gsub(row_template, "", add_content) table.insert(rows, row) end return beginning .. table.concat(rows) .. close end

return export