Documentation for this module may be created at Module:Infobox/Widget/Row/doc
local Row = {} function Row.make(rowName, value, link, prefix) local container = mw.html.create('div') :addClass('ib-row') local name = mw.html.create('div') :addClass('ib-rowName') :wikitext(rowName .. ': ') local valueNode = mw.html.create('div') -- If value is table if type(value) ~= 'string' then return container:node(name):node(value) end if link ~= nil then local path = value if prefix ~= nil then path = prefix .. path end local toShow = Row.toShow(value) if toShow then path = path .. '|' .. toShow end valueNode:wikitext('[[' .. path .. '|' .. value .. ']]') else valueNode:wikitext(value) end return container:node(name):node(valueNode) end function Row.person(rowName, value, flag) local container = mw.html.create('div') :addClass('ib-row') local name = mw.html.create('div') :addClass('ib-rowName') :wikitext(rowName .. ': ') local valueNode = mw.html.create('div') local toShow = Row.toShow(value) valueNode:wikitext(flag):wikitext('[[' .. value .. '|' .. toShow .. ']]') return container:node(name):node(valueNode) end function Row.toShow(str) if mw.title.new(str) then return nil end local toShow = mw.text.split(str, '/') if #toShow > 1 then toShow = toShow[2] else toShow = toShow[1] end return toShow end return Row