Module:STikiLeaderboard

From Chalo Chatu, Zambia online encyclopedia
Jump to navigationJump to search

-- Get the raw leaderboard content. local lb = mw.title.new('Wikipedia:STiki/leaderboard') local lbtext = (lb and lb:getContent()) or error('Could not find the leaderboard text')

-- Get a specific data value for a given username. local function findLeaderboardData(dfield, username) username = username:gsub('%p', '%%%0') local r = {} r.rank, r.uses, r.vand, r.agf, r.queue, r.first, r.last, r.avg, r.yest, r.last30 = string.match( lbtext, '\n| align=center | (%d+) || align=left | %[%[User:' .. username .. '|' .. username .. '%]%] %(%[%[User_Talk:' .. username .. '|talk%]%] | %[%[Special:Contributions/' .. username .. '|contribs%]%]%) || align=right | (%d+) || align=right | ([%d%.]+)%% ' .. '|| align=right | ([%d%.]+)%% || align=center | (%S+) || align=right ' .. '|

  1. REDIRECT Template:Number table sorting hidden


  • This is a redirect from a page that has been moved (renamed). This page was kept as a redirect to avoid breaking links, both internal and external, that may have been made to the old page name. For more information follow the bold category link. (%d+) days ago || align=right |
  1. REDIRECT Template:Number table sorting hidden


  • This is a redirect from a page that has been moved (renamed). This page was kept as a redirect to avoid breaking links, both internal and external, that may have been made to the old page name. For more information follow the bold category link. (%d+) days ago || align=right ' ..

'|

  1. REDIRECT Template:Number table sorting hidden


  • This is a redirect from a page that has been moved (renamed). This page was kept as a redirect to avoid breaking links, both internal and external, that may have been made to the old page name. For more information follow the bold category link. ([%d%.]+) edits || align=right | (%d+) || align=right | (%d+)'

) return r[dfield] end

-- Expose the data values to wikitext return setmetatable({}, { __index = function (t, key) return function (frame) local username = frame.args[1] or username = mw.getContentLanguage():ucfirst(mw.text.trim(username)) if username == then error('No username specified') end return findLeaderboardData(key, username) end end })