Jump to content

Module:Sandbox/SiBr4

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SiBr4 (talk | contribs) at 14:54, 25 September 2015. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local p = {}

-------------------------

function p.listdata(frame)

local args = require('Module:Arguments').getArgs(frame)

local map = {}
for k,v in pairs(args) do
  if tonumber(k) ~= nil then
    table.insert(map, k)
  end
end
table.sort(map)

local list = mw.html.create('table')
list:css("background-color","#ecfcf4")

for n = 1, #map, 1 do
  local row = list:tag("tr")
  local c = args[map[n]]
  local p = "Template:Country data "..c
  local var = args["var"..map[n]]
  local note = args["note"..map[n]]
  local vartext
  if var
    then vartext = " (<code>"..var.."</code> variant)"
    else vartext = ""
  end
  if require('Module:Redirect').luaIsRedirect(p)
    then row:tag("td"):css("padding","0px 10px"):addClass("plainlinks"):wikitext("["..mw.title.new(p):fullUrl("redirect=no").." "..p.."]"..vartext)
    else row:tag("td"):css("padding","0px 10px"):wikitext("[["..p.."]]"..vartext)
  end
  row:tag("td"):css("padding","0px 10px"):wikitext(frame:expandTemplate({title="flaglist", args={c, variant=(var or "")}}))
  row:tag("td"):css("padding","0px 10px"):wikitext(note or "")
end

return list

end

function p.listdata2(frame)

local args = require('Module:Arguments').getArgs(frame,{removeBlanks=false})

local list = mw.html.create('table')
list:css("background-color","#ecfcf4")

for n,c in ipairs(args) do
  if c ~= "" then
    local row = list:tag("tr")
    local p = "Template:Country data "..c
    local var = args["var"..n]
    local note = args["note"..n]
    local vartext
    if var
      then vartext = " (<code>"..var.."</code> variant)"
      else vartext = ""
    end
    if require('Module:Redirect').luaIsRedirect(p)
      then row:tag("td"):css("padding","0px 10px"):addClass("plainlinks"):wikitext("["..mw.title.new(p):fullUrl("redirect=no").." "..p.."]"..vartext)
      else row:tag("td"):css("padding","0px 10px"):wikitext("[["..p.."]]"..vartext)
    end
    row:tag("td"):css("padding","0px 10px"):wikitext(frame:expandTemplate({title="flaglist", args={c, variant=(var or "")}}))
    row:tag("td"):css("padding","0px 10px"):wikitext(note or "")
  end
end

return list

end

-------------------------

function p.rgnvbx(frame)

return require("Module:Region topic").main(frame)

end

function p.rtlist(frame)

local args = require("Module:Arguments").getArgs(frame)
local data
if args.data and args.data~=""
  then data = mw.loadData(args.data)
  else error("No data page specified")
end

local tab = mw.html.create("table"):addClass("wikitable collapsible"):css("color","#000")--:css("width","60%")
local head = tab:tag("tr"):css("font-weight","bold")
head:tag("th"):css("background-color","#e8e8e8"):wikitext("Code")
head:tag("th"):css("background-color","#e8e8e8"):wikitext("Display name [link name]")
head:tag("th"):css("background-color","#e8e8e8"):wikitext("Switch")
head:tag("th"):css("background-color","#e8e8e8"):wikitext("Hidden?")

for i = 1, (data.ngroups or 1), 1 do
  local grow = tab:tag("tr"):css("background-color","#eaf1fe")
  grow:tag("td")
  if string.match(data["group"..i].name,"%{%{")
    then grow:tag("td"):css("font-weight","bold"):wikitext(frame:preprocess(data["group"..i].name))
    else grow:tag("td"):css("font-weight","bold"):wikitext(data["group"..i].name)
  end
  grow:tag("td"):wikitext(data["group"..i].switch or "")
  grow:tag("td"):wikitext(data["group"..i].hidden and "Yes" or "")
  for j,ddata in ipairs(data["group"..i].data) do
    local drow = tab:tag("tr"):css("background-color","#f8f8f8")
    drow:tag("td"):wikitext(ddata[1])
    local dname = drow:tag("td"):css("padding-left","1em"):wikitext(ddata[2])
    if ddata.the or ddata.link then
      dname:wikitext(" ["..(ddata.the and "the" or "")..(ddata.the and ddata.link and " " or "")..(ddata.link or "").."]")
    end
    drow:tag("td"):wikitext(ddata.switch or "")
    drow:tag("td"):wikitext(ddata.hidden and "Yes" or "")
    if ddata.subgroup then
      local shead = tab:tag("tr"):css("background-color","#fefce2")
      shead:tag("td")
      shead:tag("td"):css("padding-left","2em"):css("font-weight","bold"):wikitext("Subgroup")
      shead:tag("td"):wikitext(ddata.subgroup.switch or "")
      shead:tag("td"):wikitext(ddata.subgroup.hidden and "Yes" or "")
      for k,sdata in ipairs(ddata.subgroup) do
        local srow = tab:tag("tr"):css("background-color","#fdfcf4")
        srow:tag("td"):wikitext(sdata[1])
        srow:tag("td"):css("padding-left","2em"):css("font-style","italic"):wikitext(sdata[2])
        srow:tag("td"):wikitext(sdata.switch or "")
        srow:tag("td"):wikitext(sdata.hidden and "Yes" or "")
      end
    end
  end
end

return tab

end

-------------------------

function p.ec(frame)

local p = frame:preprocess("{{Wikipedia:List of Wikipedians by number of edits/5001โ€“6000}}")
local i = string.find(p,"User:SiBr4")
if i then
  return string.sub(p,i-10,i-6)
else
  return "?"
end

end

-------------------------

function p.test(frame)

return ""

end

-------------------------

return p