Module:Table template counter/sandbox explained

-- This module counts table rows with specified template name in wikitext.

local p = local getArgs

function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._main(getArgs(frame,))end

function p._main(args) -- Get the title object. local titleObj do local success success, titleObj = pcall(mw.title.new, args.page) if not success or not titleObj then titleObj = mw.title.getCurrentTitle end end

-- Get the page content. local content = titleObj:getContent if not content then return nil end

-- Find the wikitables on that page. local wikitables = do local iWikitable = 0 local s1 = content:match('^(

)') if s1 then iWikitable = iWikitable + 1 wikitables[iWikitable] = s1 end for s in content:gmatch('\n(
)') do iWikitable = iWikitable + 1 wikitables[iWikitable] = s end end

-- Find the wikitable to work on. local wikitable if args.id then for i, s in ipairs(wikitables) do if s:match('^

%-[|\n%-:;=\"\'%[%w%s%(%)%]]*%', '') end end if count < 0 then count = 0 end return countend

return p