Module:Births and deaths by year for decade/sandbox explained

local p = local uc =

local page_content = local function get_section(frame, page_name, section_name) if page_content[page_name]

nil then local title = mw.title.new(page_name) if title then if title.redirectTarget then title = title.redirectTarget end page_content[page_name] = title:getContent end end if page_content[page_name] then if mw.ustring.find(page_content[page_name], "=%s*" .. section_name .. "%s*=", 1, false) then return frame:preprocess("") end end return end

local function transclude(frame, entry, year, article) local s = " " s = frame:preprocess(s) .. get_section(frame, article, uc[entry]) s = mw.ustring.gsub(s, '

+[^=]-

+%s*%c*', ) return mw.ustring.match(s, '.*%*.*%a.+')end

function p.main(frame) local decade = mw.text.trim(frame.args[1] or frame:getParent.args[1] or '0') local result = local article_list = local year_list =

if decade:sub(1, 1)

'-' then for i = -9, (decade

'-0' and -1 or 0) do table.insert(article_list, frame:expandTemplate) table.insert(year_list, decade .. math.abs(i)) end else for i = (decade

'0' and 1 or 0), 9 do table.insert(article_list, frame:expandTemplate) table.insert(year_list, decade .. tostring(i)) end end for i, entry in ipairs do table.insert(result, '

' .. uc[entry] .. '

\n') table.insert(result, frame:expandTemplate)

for i, article in ipairs(article_list) do table.insert(result, transclude(frame, entry, year_list[i], article)) end end return table.concat(result)end

return p