Tài liệu mô đun[tạo]
local p = {}

-- Hàm ngoài
local _navbox = require('Module:Navbox')._navbox

local navbox = function(name, title, list)
	return _navbox({
		name = name,
		title = title,
		state = 'uncollapse',
		listclass = 'hlist',
		list1 = list
	})
end

-- Hàm phụ trợ
local yearHandler = function(index)
	return string.format('* [[Thảo luận Wikipedia:Bạn có biết/%s|%s]]', index, index)
end

local weekHandler = function(year)
	return function(index)
		return string.format(
			'* [[Thảo luận Wikipedia:Bạn có biết/%s/Tuần %s|%s]]',
			year, index, (index == 1 and 'Tuần ' or '') .. index
		)
	end
end

-- Hàm tạo danh sách
local list = function(istart, iend, fn)
	local list = {}
	for i = istart, iend do
		list[#list + 1] = fn(i)
	end
	return table.concat(list, '\n')
end

local yearList = function()
	local currentYear = tonumber(os.date('%Y'))
	return list(2008, currentYear, yearHandler)
end

local weekList = function(year)
	return list(1, 53, weekHandler(year))
end

-- Hàm trong package
function p.year(frame)
	local year = frame.args[1]
	return p._year(year)
end

function p._year(year)
	local title = 'Thảo luận BCB ' .. year
	return navbox(
		title,
		string.format('[[Thảo luận Wikipedia:Bạn có biết/%s|%s]]', year, title),
		weekList(year)
	)
end

function p.index()
	return navbox(
		'Thảo luận BCB theo năm',
		'[[Thảo luận Wikipedia:Bạn có biết|Thảo luận BCB]]',
		yearList()
	)
end

return p