return {
main = function (frame)
local getArgs = require("Module:Arguments").getArgs
local args = getArgs(frame)
local _args = {}
local tName = args[2] or args[1]
local tVars = ""
local output
for arg in args[1]:gmatch("[^,]+") do
_args[arg] = true
end
if not _args.n or not _args.nolink then
tName = "[[Template:" .. tName .. "|" .. tName .. "]]"
end
if _args.b or _args.bold then
tName = "<b>" .. tName .. "</b>"
end
for k, v in pairs(args) do
if k ~= 1 and k ~= 2 then
tVars = tVars .. "|" .. v
end
end
if _args.i or _args.italic then
tVars = "<i>" .. tVars .. "</i>"
end
output = "{{" .. tName .. tVars .. "}}"
if _args.x or _args.code then
output = "<code>" .. output .. "</code>"
end
return output
end
}