Module:Clade/example

From Chalo Chatu, Zambia online encyclopedia

local p = {}

function p.example(frame)

local params = mw.getCurrentFrame():getParent().args -- build HTML table local exampleTable = mw.html.create('table') exampleTable:addClass('wikitable') local align = params['align'] or 'center' if align == 'center' then exampleTable:css('margin-left', 'auto') exampleTable:css('margin-right','auto') elseif align == 'right' then exampleTable:css('float',align) end

local columns = {'description','code','output','comment'} --local headers = {'Description','Code','Output','Comment'}

   -- create header row and add requested headers
   local row = exampleTable:tag('tr')
   local headerText
   for k,v in pairs(columns) do

if params[v] then if params[v]~= then headerText=params[v] else headerText = firstToUpper(v) end row:tag('th'):wikitext(headerText) end

   end

-- now deal with the data rows local i=0 while i<10 do i=i+1 local moreRows = false for k,v in pairs(columns) do if params[v..i] then moreRows = true end end if not moreRows then break end

row = exampleTable:tag('tr') for k,v in pairs(columns) do if params[v] then if params[v] then row:tag('td'):css('text-align', 'left'):wikitext('\n' ..params[v..i]) else row:tag('td') end end end

   end

return tostring(exampleTable) end function firstToUpper(str)

   return (str:gsub("^%l", string.upper))

end


function p.templateStyle( frame, src )

  return frame:extensionTag( 'templatestyles', , { src = src } );

end

-- this must be at end return p