Module:Events by year for decade

MyWikiBiz, Author Your Legacy — Wednesday July 17, 2024
Jump to navigationJump to search

Implements {{Events by year for decade}}


local p = {}

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 }} .. ' ' ..
				frame:callParserFunction( '#section-h', {':' .. year2, 'Events'})) .. '\n'
			output[1 + #output] = section:gsub('==', '===')
		end
	end

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

return p