-- This module counts table rows 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('^(
-- Find the wikitable to work on. local wikitable if args.id then for i, s in ipairs(wikitables) do if s:match('^
%-', '\n | -') end -- Control for missing row markers at the start. if not wikitable:find('^
-- Subtract the number of rows to ignore, or the number of header -- rows if it's empty, and make sure the result isn't below zero. local headers headers = 0 if not args.include_headers then headers = wikitable:gsub('\n | %-\n!', '\n | -\n!') end if not wikitable:find('^
|