Module:Events by year for decade

local p = {}

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("\n") end end return "" end

p.main = function(frame) frame.args = frame:getParent.args return p[''](frame) end

p[''] = function(frame) local output = { frame:expandTemplate{ title = 'TOC limit', args = {3} }, '\n==Events==\n' }	local n = tonumber((frame.args[1] or '0') .. '0') or 0 for i = n, n + 9 do		if i == 0 then output[3] = '' else local year = frame:expandTemplate{ title='dr', args={'y', 'y', i, 0, n < 100 and 'na' or 'n'}} local year2 = frame:expandTemplate{ title='dr', args={'y', 'y', i, 0, n <= 1000 and 'na' or 'n'}} local section = '== ' .. year .. '==\n' .. mw.text.trim(				frame:expandTemplate{ title ='transcluded section', args = { year2 }} .. ' ' ..				get_section(frame,year2, 'Events')) .. '\n' output[1 + #output] = section:gsub('==', '===') end end

if 'Template:Events by year for decade' ~= mw.title.getCurrentTitle.fullText then output[13] = '' end return table.concat(output) end

return p