Module:Recipe
Documentation for this module may be created at Module:Recipe/doc
local p = {}
local category = mw.html.create()
--Arguments for template
local param = {
sStationArg = 'station',
sSortArg = 'sort',
sSortDelim = ';', --Needs to be pattern
sSortDelim2 = '¤',
sTimeArg = 'time',
sOutputArg = 'output',
sYieldArg = 'yield',
sPage = 'page'
}
p.param = param
function addRecipe(sAmt, sName)
local output = '[['..sName..']]'..' x '..sAmt
category:wikitext('[[Category:Uses ', sName, ']]')
return output
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
parentFirst = true,
wrapper = { 'Template:Recipe' }
})
return p._main(args,frame)
end
function p._main(args,frame)
local _table = mw.html.create('table'):addClass('fandom-table article-table sortable alternating-colors-table')
local inputText = ''
for sKey,sVal in pairs(args) do
local restricted = false
for _, keyParam in pairs(param) do
if keyParam == sKey then
restricted = true
end
end
if not(restricted) then
inputText = inputText..addRecipe(sVal, sKey)..'</br>'
end
end
local tr = _table:tag('tr')
tr:tag('td'):wikitext(inputText or " - ")
if args[param.sStationArg] then
category:wikitext('[[Category:Uses ', args[param.sStationArg], ']]')
end
tr:tag('td'):wikitext(args[param.sStationArg] and '[['..args[param.sStationArg]..']]' or " - ")
tr:tag('td'):wikitext(args[param.sTimeArg] or " - ")
tr:tag('td'):wikitext('[['..args[param.sOutputArg]..']]'.." x "..(args[param.sYieldArg] or 1))
return _table
end
return p